? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Ajax
Ajax
異步無(wú)刷新技術(shù)
核心對(duì)象
XMLHttpRequest對(duì)象
獲取xhr對(duì)象:var xhr = new? XMLHttpRequest();
onreadystatechange 監(jiān)聽(tīng)readystate值變化的事件
readystate 數(shù)據(jù)響應(yīng)的響應(yīng)
0=未初始化?
1=已經(jīng)調(diào)用open方法,但未調(diào)用send方法
2=調(diào)用send方法吐句,但未開始響應(yīng)
3=響應(yīng)部分響應(yīng)
4=完全響應(yīng)數(shù)據(jù)捞慌,且可以使用
status 響應(yīng)狀態(tài)碼
200=響應(yīng)成功
500=服務(wù)器異常(報(bào)錯(cuò))
404=未找到資源
statusText 狀態(tài)碼的說(shuō)明
responseText 響應(yīng)的數(shù)據(jù)
Aajx的實(shí)現(xiàn)流程
1、創(chuàng)建XMLHttpRequest對(duì)象
2、打開請(qǐng)求/準(zhǔn)備請(qǐng)求
xhr.open(參數(shù)1,參數(shù)2,參數(shù)3)
參數(shù)1:請(qǐng)求的方式? (GET|POST)
參數(shù)2:請(qǐng)求的路徑? (請(qǐng)求地址,如果是GET請(qǐng)求,參數(shù)直接拼接在地址欄后面)
參數(shù)3:是否異步 ? ? (true|false。默認(rèn)是true获枝,表示異步)
3、發(fā)送請(qǐng)求
xhr.send(參數(shù))
參數(shù):要傳遞的數(shù)據(jù)(參數(shù))
如果是GET請(qǐng)求:send(null);
如果數(shù)POST請(qǐng)求:有參數(shù)骇笔,則設(shè)置參數(shù)省店,無(wú)參數(shù)則設(shè)置為null
4、接收響應(yīng)
如果響應(yīng)成功笨触,接收數(shù)據(jù)
status==200
xhr.responseText
1懦傍、創(chuàng)捷XMLHttpRequest對(duì)象
var 變量名=new XMLHttpRequest();
2、打開請(qǐng)求|準(zhǔn)備請(qǐng)求
變量名.open(參數(shù)1芦劣,參數(shù)2粗俱,boolean值)、
3虚吟、發(fā)送請(qǐng)求
變量名.send(參數(shù))
4寸认、接收響應(yīng)
console.log(變量名.responseText)
$.ajax({
type:"get|post",
url:"地址",
date:"date參數(shù)以{key:value}格式",
success: function(參數(shù)){
console.log(參數(shù))
}
});
$.get("url地址",date參數(shù)以{key:value}格式,function(參數(shù)){
console.log(參數(shù))
});
$.post(url地址,date參數(shù)以{key:value}格式,function(參數(shù)){
console.log(參數(shù))
});
$.getsJSON(url地址,date參數(shù)以{key:value}格式,function(參數(shù)){
console.log(參數(shù))
});