一癣漆、ajax原理
1.創(chuàng)建ajax對(duì)象
2.打開鏈接
3.發(fā)送請(qǐng)求
4.接收響應(yīng)
ajax的核心: XMLHttpRequest
二、GET
創(chuàng)建ajax對(duì)象
不兼容IE6
var oAjax = new XMLHttpRequest();
IE678
var oAjax = new ActiveXObject('Microsoft.XMLHTTP');
兼容寫法
if(window.XMLHttpRequest){
var oAjax = new XMLHttpRequest();
}else{
var oAjax = new ActiveXObject('Microsoft.XMLHTTP');
}
打開鏈接
oAjax.open('打開方式','url?data',是否異步);
同步
一次只能做一件事
異步
同時(shí)做多件事
oAjax.open('GET','xxx?xxx=xxx',true);
發(fā)送請(qǐng)求
oAjax.send();
接收響應(yīng)
oAjax.onreadystatechange = function(){
判斷ajax狀態(tài)碼
if(oAjax.readyState==4){
判斷http狀態(tài)碼
if(oAjax.status>=200&&oAjax.status<300||oAjax.status==304){
成功
oAjax.responseText
響應(yīng)文本
}else{
失敗
}
}
}
三渠啤、POST
創(chuàng)建ajax對(duì)象
不兼容IE6
var oAjax = new XMLHttpRequest();
IE678
var oAjax = new ActiveXObject('Microsoft.XMLHTTP');
兼容寫法
if(window.XMLHttpRequest){
var oAjax = new XMLHttpRequest();
}else{
var oAjax = new ActiveXObject('Microsoft.XMLHTTP');
}
打開鏈接
oAjax.open('打開方式','url?data',是否異步);
同步
一次只能做一件事
異步
同時(shí)做多件事
oAjax.open('POST','url',true);
設(shè)置請(qǐng)求頭部
oAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
發(fā)送請(qǐng)求
oAjax.send(data);
接收響應(yīng)
oAjax.onreadystatechange = function(){
判斷ajax狀態(tài)碼
if(oAjax.readyState==4){
判斷http狀態(tài)碼
if(oAjax.status>=200&&oAjax.status<300||oAjax.status==304){
成功
oAjax.responseText
響應(yīng)文本
}else{
失敗
}
}
}
四狐肢、ajax狀態(tài)碼
0 準(zhǔn)備成功,未發(fā)送
1 發(fā)送成功
2 接收原始數(shù)據(jù)成功1
3 解析數(shù)據(jù)成功
4 完成
五沥曹、HTTP狀態(tài)碼
http狀態(tài)碼是3位數(shù)
2字頭代表成功
304 重定向(Not Modify)