ajax实例
ajax是一種異步的網(wǎng)頁交互手段,遵守同源策略,現(xiàn)各大瀏覽器都支持。
ajax是一種客戶端(瀏覽器端)和服務(wù)端通信技術(shù)
使用ajax的時候需要先創(chuàng)建ajax實(shí)例,除ie5-6,需要使用ActiveXObject(),創(chuàng)建,其他的需要使用XMLHttpRequest()創(chuàng)建,創(chuàng)建ajax實(shí)例,需要用到new關(guān)鍵字。
XMLHttpReuqest的核心屬性:
xhr.responseText:服務(wù)器端相應(yīng)數(shù)據(jù)
xhr.responstXML:text/xml
xhr.status: http相應(yīng)狀態(tài)
xhr.statusText: http狀態(tài)說明
xhr.readystate:
new xhr()? //0
open()? ?? //1
send() //2
接收相應(yīng)? //3
相應(yīng)接受完畢? //4
XMLHttpRequest核心方法:
xhr.open()? //發(fā)送請求,get傳null,post傳參數(shù)
xhr.send(); //接受響應(yīng)前執(zhí)行abort終止xhr后續(xù)操作和訪問
xhr.abort();
//reasState狀態(tài)變更事件
xhr.onreadystatechange()
對應(yīng)以上狀態(tài)的變化
0.創(chuàng)建xhr ----new XMLHttpRequest() , onreadystatecange
1.初始化請求 ----open()
2.發(fā)送請求 ---- send()
3.接受返回?cái)?shù)據(jù) ---- readyState ==3
4.接受完畢 ----readyState ==4 onreandystatechange函數(shù)內(nèi)容
代碼示例
//封裝兼容低版本IE瀏覽器的xhr函數(shù)。
//ie低版本支持參數(shù):“MSXML.XMLHttp.6.0”,"MSXML.XMLHttp.3.0",“MSXML>XMLHttp”
function createXhr(){
if(typeof XMLHttpRequest != 'undefined'){
return new XMLHTTPRequest();
}else if(typeof ActiveXObject != 'undefined'){
var? tmp = '',
//低版本IE使用ActiveXObject.傳參方式創(chuàng)建xhr對象,主要支持一下參數(shù);
strList ==['MSXML.XMLHttp..0','MSXML.XMLHttp.3.0','MSXML.XMLHttp'];
for (var n in strList){
//異常處理,'try'
中代碼出現(xiàn)異常會執(zhí)行catch中的代碼,而不會影響到外部后續(xù)代碼執(zhí)行
try{
new ActiveXObject(strList[n]);
var tmp = strList[n];
break;
}catch(e){
console.log(e);
}
}
if(tmp = ''){
console.log('您的瀏覽器目前不支持ajax請求');
}else{
return new ActiveXObject(tmp);
}
}else{
console.log('您的瀏覽器目前不支持ajax請求');
}
}
//封裝公共請求函數(shù)
function sendRequest(callback){
var xhr = createXhr();
//綁定readyState監(jiān)聽事件
xhr.onreadystatechange = function(){
if(xhr.status == '200'? || xhr.status =='304' ){
if(xhr.readyState =='4'){
//JSON.parse();
callback && callback(JSON.parse(xhr.responseText));
}
}?
};
//請求對象初始化
xhr.open("get","ajaxText.json",false);
//發(fā)送請求
xhr.send();
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/browse/p/10143070.html
總結(jié)
- 上一篇: 写在2018的总结
- 下一篇: 数独高阶技巧入门之四:简单异数链