在
上一篇文章中,主要介紹了DOM的相關知識,了解了JavaScript 能夠改變頁面中的所有 HTML 元素、 能夠改變頁面中的所有 HTML 屬性、 能夠改變頁面中的所有 CSS 樣式 、能夠對頁面中的所有事件做出反應,那麼這一篇主要學習非常重要的AJAX。
AJAX為什麼重要,我們知道移動網際網路的時代聯網是必須的,不聯網也就是失去了基本傳輸資訊的意義。那麼,這個聯網的過程開發一般稱之為Http協定,為什麼AJAX重要,下面的文章會重點介紹。
什麼是AJAX?Ajax 即“Asynchronous Javascript And XML”(異步 JavaScript 和 XML),是指一種建立互動式網頁應用的網頁開發技術。
傳統的網頁(不使用 Ajax)如果需要更新内容,必須重載整個網頁頁面。但是Ajax 是一種用于建立快速動态網頁的技術。無需重新加載整個網頁的情況下,能夠更新部分網頁的技術。 通過在背景與伺服器進行少量資料交換,Ajax 可以使網頁實作異步更新。也就意味可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。在 2005 年,Google 通過其 Google Suggest 使 AJAX 變得流行起來。Google Suggest 使用 AJAX 創造出動态性極強的 web 界面
開始使用:在Android開發中,做網絡請求,首先需要建構一個HttpRequest對象、然後添加具體的請求頭或者請求體、然後背景server接受請求體以後傳回響應體給Android,Android在根據響應體解析資料告知使用者成功或者失敗或者其他提示,至此一次網絡請求流程大抵就是這樣。
同樣的在AJAX中,首先需要建構一個XMLHttpRequest 對象。所有現代浏覽器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 對象;IE5 和 IE6 使用 ActiveXObject)

建構XMLHttpRequest對象
建構完請求對象以後,我們在建構請求方式(POST請求還是Get請求)、請求url,寫法如下:
建構對象之後的寫法
如需将請求發送到伺服器,我們使用 XMLHttpRequest 對象的 open() 和 send() 方法:
寫法
既然已經建構好了http對象、聲明請求方式以及請求url,那麼如何接受伺服器傳回給我們的響應體?
使用 XMLHttpRequest 對象的 responseText 或 responseXML 屬性。其中,responseText 表示獲得字元串形式的響應資料;而 responseXML 是指獲得 XML 樣式的響應資料。
響應體
但是值得注意的是,當請求被發送到伺服器時,我們需要執行一些基于響應的任務。每當 readyState(在XMLHttpRequest 對象中) 改變時,就會觸發 onreadystatechange 事件。readyState 屬性存有 XMLHttpRequest 的狀态資訊。
readyState存有 XMLHttpRequest 的狀态。狀态值一般是 0 - 4,具體數值表達的資訊如下:
0:請求未初始化
1:伺服器連接配接已建立
2:請求已接收
3:請求進行中
4: 請求已完成,且響應已就緒
status 代表請求後的狀态:
200: 表示狀态Ok
404:未找到頁面
狀态碼拓展:伺服器常用的狀态碼及其對應的含義如下
200:伺服器響應正常。
304:該資源在上次請求之後沒有任何修改(這通常用于浏覽器的緩存機制,使用GET請求時尤其需要注意)。
400:無法找到請求的資源。
401:通路資源的權限不夠。
403:沒有權限通路資源。
404:需要通路的資源不存在。
405:需要通路的資源被禁止。
407:通路的資源需要代理身份驗證。
414:請求的URL太長。
500:伺服器内部錯誤。
是以,綜合上面的内容我們可以總結下AJAX的用法:
A:建構XMLHttpRequest 對象、聲明請求方式、請求頭或者請求體、聲明請求url
B:利用onreadystatechange 監聽請求伺服器的狀态
C:拿到響應體、解析響應體、設定響應體告知使用者資訊
是以完整的寫法如下:
AJAX寫法
紅色矩形是響應體資訊,拿到這個資訊以後我們就可以将其設定在頁面上做資訊展示。
本篇文章主要學習的是關于AJAX介紹以及使用。本章的基本内容就結束了。
如果這篇文章對你有幫助,希望各位看官留下寶貴的star,謝謝。
Ps:著作權歸作者所有,轉載請注明作者, 商業轉載請聯系作者獲得授權,非商業轉載請注明出處(開頭或結尾請添加轉載出處,添加原文url位址),文章請勿濫用,也希望大家尊重筆者的勞動成果。