91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何寫一個Ajax.Request類

發布時間:2021-10-12 09:25:27 來源:億速云 閱讀:100 作者:小新 欄目:web開發

小編給大家分享一下如何寫一個Ajax.Request類,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

目的:因為blog程序里的某些模塊需要用到ajax,直接使用prototype.js體積比較大(40多k),而且僅僅用到其中的ajax功能,因此為了減輕下載的負擔,又不能改動已經在prototype.js框架下寫好的代碼,只能是按照prototype的風格,自己寫一個ajax類,達到零成本移植框架。

新的ajax類如下:

var Ajax = {xmlhttp:function(){
try{
return new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){
try{
return new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
return new XMLHttpRequest();
}

}
};

Ajax.Request = function(){
if (arguments.length<2) return;
var _p = {asynchronous:true,method:"GET",parameters:""}; //default option
for (var key in arguments[1]){ // custom option overwrite default option
_p[key] = arguments[1][key]; 
}
var _x = Ajax.xmlhttp(); //xml obj
var _url = arguments[0]; //str
if(_p["parameters"].length>0) _p["parameters"] += '&_=';
if(_p["method"].toUpperCase()=="GET")_url += (_url.match(/\?/) ? '&' : '?') + _p["parameters"];
_x.open(_p["method"],_url,_p["asynchronous"]);
_x.onreadystatechange = function(){
if (_x.readyState==4){
if(_x.status==200){
_p["onComplete"]?_p["onComplete"](_x):"";
}else{
_p["onError"]?_p["onError"](_x):"";
}
}
}
if(_p["method"].toUpperCase()=="POST")_x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
_x.send(_p["method"].toUpperCase()=="POST" ? _p["parameters"] : null);
};


這個類保存成js文件,體積還不到1k,足夠小了。哈哈。
調用方法:

var myAjax = new Ajax.Request(
"http://localhost/abc.asp",
{
method:"post",
parameters:"demo=123456789abc",
onComplete:function(xmlhttp){
alert(xmlhttp.responseText)
}
}
);

調用的風格完全與原來相同!

目前這個新類只有兩個回調函數:onComplete 與 onError,Ajax類也只有Request一個方法,畢竟現在blog程序還不需要這么多應用嘛。parameters 屬性有個默認值:{asynchronous:true,method:"GET",parameters:""},可以從中知道,如果調用時不傳入asynchronous、method、parameters三個參數,那么類將使用默認值。

以上是“如何寫一個Ajax.Request類”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

麦盖提县| 大竹县| 晴隆县| 绍兴市| 湖州市| 丹凤县| 鲁山县| 镇沅| 靖安县| 武定县| 北京市| 怀宁县| 罗山县| 怀集县| 桃园市| 娱乐| 兴城市| 奉化市| 黑龙江省| 石台县| 原平市| 肇源县| 富蕴县| 清新县| 基隆市| 丽江市| 遂平县| 罗城| 富顺县| 溧阳市| 定边县| 远安县| 门头沟区| 洛南县| 通化市| 万盛区| 曲阳县| 湘潭市| 兰州市| 如东县| 宁远县|