ajax異步請求詳解
ajax定義:異步的JavaScript和xml
1、創建對象,XMLHttpRrquest的出現纔有了異步處理。
XMLHttpRrquest是AJAX的基礎
所有的現代瀏覽器均支持XMLHttpRrquest對象(IE5和IE6使用ActiveObject)
XMLHttpRrquest用於在後臺與服務器交換數據。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
2.XMLHttpRrquest對象向服務器發出請求
如需將請求發送到服務器,我們使用XMLHttpRequest對象的open()和send()方法。
XMLhttp.open('get','test1.txt',true);
XMLhttp.send();
方法
open(method,url,async) 規定請求的類型,url以及是否異步處理請求
Method:請求的類型:get或post
URL :文件在服務器上的位置:
Async :true(異步 )或false(同步)
Send(string) 將請求發送到服務器
3.瀏覽器與服務器建立連接
4.服務器響應
readyState 屬性表示Ajax請求的當前狀態。它的值用數字代表。
0 代表未初始化。 還沒有調用 open 方法
1 代表正在加載。 open 方法已被調用,但 send 方法還沒有被調用
2 代表已加載完畢。send 已被調用。請求已經開始
3 代表交互中。服務器正在發送響應
4 代表完成。響應發送完畢
常用狀態碼及其含義:
404 沒找到頁面(not found)
403 禁止訪問(forbidden)
500 內部服務器出錯(internal service error)
200 一切正常(ok)
304 沒有被修改(not modified)(服務器返回304狀態,表示源文件沒有被修改 )
*/
xhr.onreadystatechange = function(){
alert(xhr.readyState);
//alert(xhr.status);
if(xhr.readyState==4){
if(xhr.status==200||xhr.status==304){
var data = xhr.responseText;
alert(data);
}
}
}