您好,登錄后才能下訂單哦!
AJAX類代碼的用法是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
基本用法:
代碼如下:
var ajax = new AjaxObj(url);
ajax.addListener(200, function(r){
alert(r);
});
ajax.send();
也可以連續調用:
代碼如下:
var ajax = new AjaxObj(url).addListener(200, function(r){
alert(r);
}).send();
另外還支持自定義的POST或GET方式請求,以及監視不同的HTTP狀態碼,自己看代碼琢磨吧 :)
完整代碼:
代碼如下:
AjaxObj = function(url, method, content){
this.r = null;
this.url = url;
this.method = method;
this.content = content;
this.header = {};
this.header["Connection"] = "close";
this.header["Content-type"] = "application/x-www-form-urlencoded";
var self = this;
if(window.XMLHttpRequest){
this.r = new XMLHttpRequest();
}else if(window.ActiveXObject){
try {
this.r = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try{
this.r = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
}
}
}
this.addListener = function(http_status, func){
if(!this.L)
this.L=[];
this.L[http_status] = func;
return this;
};
this.setHeader = function(name, value){
this.header[name] = value;
this.r.setRequestHeader(name, value);
return this;
};
this.send = function(){
if(this.method != "post" && this.method != "get")
this.method = "get";
this.r.open(this.method, this.url, true);
for(var h in this.header) {
this.r.setRequestHeader(h, this.header[h]);
}
this.r.send(this.content);
};
if(this.r) this.r.onreadystatechange = function(){
if(self.r.readyState == 4 && self.L[self.r.status] != null)
self.L[self.r.status](self.r.responseText);
};
};
看完上述內容,你們掌握AJAX類代碼的用法是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。