1. 程式人生 > >AJAX學習筆記(慕課網)

AJAX學習筆記(慕課網)

一、建立XHR物件(XHR物件支援IE6以上)

var reques;

if(window.XMLHttpRequest){

    request=new XMLHttpRequest();

}else{

    request=new ActiveXObject("Microsoft.XMLHTTP");//支援IE5.6

}

二、HTTP

三、XHR傳送請求

1.open(method,url,async)

method——GET/POST,標明請求方法

url——請求地址

async——請求預設為非同步,設為false時為同步

2.send(string)

string——填寫引數,傳送請求,一般GET方法為空,POST方法不為空,為資訊

e.g.

request.open("POST","creat.php",true);

request.setRequestHeader("Content-type","application/x-www-form-urlencoded");//設定請求頭,告訴伺服器提交的資訊是表單,必須寫在open和send的中間

request.send("name=xxx&sex=男");

四、XHR取得響應

1.獲取響應值


2.在響應成功發回的時候獲得通知——readyState屬性

通過監聽readyState的值獲取伺服器響應所處狀態

var request=new XMLHttpRequest();
request.open("POST","creat.php",true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("name=xxx&sex=男");
request.onreadystatechange=function(){
if(request.readyState===4&&request.status===200){
//做一些事情,request.responseText
}
}

五、例子

六、JSON

1.json解析和校驗

json解析

var josnobj=JSON.parse(josondata);

alert(jsonobj.staff[0].name);

2.JSON校驗網址

JSONLint

七、jQuery中的ajax


八、跨域

js處於安全方面你的考慮,不允許跨域呼叫其他頁面的物件,如a.com域名下的js無法操作b.com域名下的物件


什麼是跨域

1)主域名不同

2)子域名不同

3)埠號不同

4)協議不同

2.處理跨域的方法

1)代理

2)JSONP,利用script標籤<script></script>去申請另一個域名的資料(只支援GET請求)

3)XHR2