走進Ajax——Ajax使用四大步驟
Ajax(Asynchronous JavaScript and XML)
---一種與服務器交換數據的技術,動態無刷新
1. Ajax使用詳解
(1)創建XmlHttpRequest對象
(2)創建http請求
(3)發送http請求
(4)設置響應HTTP請求狀態變化的函數
********************************************************************
(1)創建XmlHttpRequest對象
var request;
if(window.XMLRequest){
request=new XMLRequestHttpRequest(); //IE7、IE8、360等
}else{
request=new ActiveXObject("Microsoft.XMLHTTP");//IE5、IE6
}
(2)創建http請求
request.open("get","Readme.txt", true);
(3)發送http請求
request.send(null);
(4)設置響應HTTP請求狀態變化的函數
request.onreadystatechange=function()
{
if (request.readyState==4 && request.status==200)
{//響應發送完畢,一切正常
}
}
------參數說明
onreadystatechange事件:監聽服務器
readyState屬性:http請求的當前狀態
0 代表未初始化。 還沒有調用 open 方法
1 代表正在加載。 open 方法已被調用,但 send 方法還沒有被調用
2 代表已加載完畢。send 已被調用。請求已經開始
3 代表交互中。服務器正在發送響應
4 代表完成。響應發送完畢
status屬性:狀態碼
404 沒找到頁面(not found)
403 禁止訪問(forbidden)
500 內部服務器出錯(internal service error)
200 一切正常(ok)
304 沒有被修改(not modified)(服務器返回304狀態,表示源文件沒有被修改 )
每次 readyState 值的改變,都會觸發 readystatechange 事件
responseText屬性:獲得字符串形式的響應數據
responseXML屬性:獲得xml形式的響應數據
2. 完整示例
通過ajax技術向服務器端請求數據--
http://www.w3school.com.cn/tiy/t.asp?f=ajax_get_unique
延伸——Ajax技術原理——XmlHttpRequest
1. XmlHttpRequest是什麼?
一個 API
爲客戶端提供了一個通過 URL來獲取服務端數據的簡單方式
不會使整個頁面刷新(部分刷新)
2. 什麼是API
https://www.zhihu.com/question/38594466
- 對於軟件提供商來說,留出API,讓別的應用程序來調用,形成生態,軟件才能發揮最大的價值,才能更有生命力。(同時別人也看不見代碼,不傷害商業機密。)
- 對於應用開發者來說,有了開放的API,就可以直接調用多家公司做好的功能來做自己的應用,不需要所有的事情都自己操刀,節省精力。
簡單理解,XmlHttpRequest是軟件供應商(如微軟)提供的一個接口,我們作爲應用開發者可以通過XmlHttpRequest來調用人家寫好的功能。
3. XmlHttpRequest對象
屬性方法參考——
http://www.w3school.com.cn/xmldom/dom_http.asp