原生js實(shí)現(xiàn)ajax方法總結(jié)吝镣;

function ajax(){

var ajaxData = {

type:arguments[0].type || "GET",

url:arguments[0].url || "",

async:arguments[0].async || "true",

data:arguments[0].data || null,

dataType:arguments[0].dataType || "text",

contentType:arguments[0].contentType || "application/x-www-form-urlencoded",

beforeSend:arguments[0].beforeSend || function(){},

success:arguments[0].success || function(){},

error:arguments[0].error || function(){}

}

ajaxData.beforeSend()

var xhr = createxmlHttpRequest();

xhr.responseType=ajaxData.dataType;

xhr.open(ajaxData.type,ajaxData.url,ajaxData.async);

xhr.setRequestHeader("Content-Type",ajaxData.contentType);

xhr.send(convertData(ajaxData.data));

xhr.onreadystatechange = function() {

if (xhr.readyState == 4) {

if(xhr.status == 200){

ajaxData.success(xhr.response)

}else{

ajaxData.error()

}

}

}

}

function createxmlHttpRequest() {

if (window.ActiveXObject) {

return new ActiveXObject("Microsoft.XMLHTTP");

} else if (window.XMLHttpRequest) {

return new XMLHttpRequest();

}

}

function convertData(data){

if( typeof data === 'object' ){

var convertResult = "" ;

for(var c in data){

convertResult+= c + "=" + data[c] + "&";

}

convertResult=convertResult.substring(0,convertResult.length-1)

return convertResult;

}else{

return data;

}

}

ajax({

type:"POST",

url:"ajax.php",

dataType:"json",

data:{"val1":"abc","val2":123,"val3":"456"},

beforeSend:function(){

//some js code

},

success:function(msg){

console.log(msg)

},

error:function(){

console.log("error")

}

})

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末德撬,一起剝皮案震驚了整個(gè)濱河市嗅虏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌汹胃,老刑警劉巖婶芭,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異着饥,居然都是意外死亡犀农,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門宰掉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)呵哨,“玉大人,你說(shuō)我怎么就攤上這事轨奄∶虾Γ” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵挪拟,是天一觀的道長(zhǎng)挨务。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么谎柄? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任丁侄,我火速辦了婚禮,結(jié)果婚禮上朝巫,老公的妹妹穿的比我還像新娘鸿摇。我一直安慰自己,他們只是感情好捍歪,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布户辱。 她就那樣靜靜地躺著,像睡著了一般糙臼。 火紅的嫁衣襯著肌膚如雪庐镐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天变逃,我揣著相機(jī)與錄音必逆,去河邊找鬼。 笑死揽乱,一個(gè)胖子當(dāng)著我的面吹牛名眉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凰棉,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼损拢,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了撒犀?” 一聲冷哼從身側(cè)響起福压,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎或舞,沒(méi)想到半個(gè)月后荆姆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡映凳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年胆筒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诈豌。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡仆救,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矫渔,到底是詐尸還是另有隱情派桩,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布蚌斩,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏送膳。R本人自食惡果不足惜员魏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望叠聋。 院中可真熱鬧撕阎,春花似錦、人聲如沸碌补。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厦章。三九已至镇匀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間袜啃,已是汗流浹背汗侵。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留群发,地道東北人晰韵。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像熟妓,于是被迫代替她去往敵國(guó)和親雪猪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 個(gè)人博客:https://yeaseonzhang.github.io 花了半個(gè)多月的時(shí)間起愈,終于又把“JS紅寶書”...
    Yeaseon閱讀 1,756評(píng)論 2 23
  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對(duì)象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,216評(píng)論 0 7
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品只恨,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式告材。簡(jiǎn)單...
    舟漁行舟閱讀 7,777評(píng)論 2 17
  • 大概是在我上幼兒園的時(shí)候坤次,我發(fā)現(xiàn)自己喜歡畫畫。 那時(shí)候斥赋,幼兒園分班按主題缰猴,有舞蹈班,手風(fēng)琴班疤剑,美術(shù)班…等等滑绒,我是特...
    狂奔工作室cool閱讀 269評(píng)論 12 0
  • 0209【靜水流深】20171020學(xué)習(xí)力⑦期踐行D10 今天去了靈玲馬戲城,不知是不是果凍暈車隘膘,總發(fā)脾氣疑故,所以也...
    荔兒果果閱讀 174評(píng)論 0 0