AJAX的概念介绍
1.XMLHttpRequest對象創建
var request= new XMLHttpRequest();
兼容ie6。ie5
var request;
if(windoe.XMLHttpRequest){
? ?request= new XMLHttpRequest();//IE7+,Firefor,Chorme,Opera,....
}else{
? ?request=new ActiveXObject("Microsoft.XMLHTTP");//IE6。IE5
}
2.HTTP請求步驟
(1)建立TCP連接
(2)Web瀏覽器向Webserver發送請求命令
(3)Webserver發送請求頭信息
(4)Webserver應答
(5)Webserver發送應答信息
(6)Webserver向瀏覽器發送數據
(7)Webserver關閉TCP連接
3.HTTP請求一般由四部分組成
(1)HTTP請求的方法或動作。比方是GET還是POST請求
(2)正在請求的URL??偟弥勒埱蟮牡刂肥鞘裁?br /> (3)請求頭,包括一些client環境信息,身份驗證信息等
(4)請求體,就是請求正文。請求正文中能夠包含客戶提交的查詢字符串信息,表單信息等等
.GET:一般用于信息獲取,使用URL傳遞參數,對所發送信息的數量有限,一般在2000個字符
.POST:一般用于改動server上的資源。
對所發送信息的數量無限。是比GET安全。
4.HTTP響應一般由三部分組成
(1)一個數組和文字組成的狀態碼。用來顯示請求是成功還是失敗
(2)響應頭,包括非常多實用信息,如:server類型、日期時間、內容類型和長度等
(3)響應體,就是響應正文
5.HTTP狀態碼
.1XX:信息類,表示收到Web瀏覽器請求,正在進一步的處理中
.2XX:成功,表示用戶請求被正確接收。處理。如:200 OK
.3XX:重定向,表示請求沒有成功。客戶必須採取進一步的動作
.4XX:client錯誤,表示client提交的請求有錯誤,如:404 NOT Found,意味著請求中所引用的文檔不存在
.5XX:server錯誤,表示server不能完畢對請求的處理:如500
6.XMLHttpRequest發送請求
.open(method,url,async)[請求方法。請求地址,請求同步、異步]
.send(string)
注意:使用GET請求時send能夠為null。使用POST請求send不能為null。
樣例:
request.open("GET","get.php",true);
request.send();
request.open("POST","post.php",true);
request.send();
request.open("POST","sreate.php","true");
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("name=hyp&sex=女");
注意:setRequestHeader()方法設置http頭信息。一定是在open和send之間。
7.XMLHttpRequest取得響應
.responseText:獲取字符串形式的響應數據
.responseXML:獲取XML形式的響應數據
.status和statusText:以數字和文本形式返回HTTP狀態碼
.getAllResponseHeader():獲取全部的響應報頭
.getResponseHeader():查詢響應中的某個字段的值
.readyState屬性
>0:請求末初始化,open還沒有調用
>1:server連接已建立。open已經調用了
>2:請求已接收,也就是接收到頭信息了
>3:請求處理中,也就是接收到響應主體了
>4:請求已完畢,且響應已就緒。也就是響應完畢了
總結
- 上一篇: Re-installation fail
- 下一篇: ios NSFileManager 用法