2021-10-08 ajax封裝

// 封裝ajax請求函數(shù)

// obj { url,method,data,dataType,fn}

function ajax(obj){

? // 判斷是否有傳遞url

? if(!obj.url){

? ? throw Error('請求地址不能為空');

? }

? // 準(zhǔn)備一個默認的參數(shù)對象

? let info = {

? ? method:'get',

? ? data:{},

? ? dataType:'string',

? ? fn:function(){}

? }

? // 將傳入的對象參數(shù)替換掉默認參數(shù)對象中的值

? for (const attr in obj) {

? ? info[attr] = obj[attr];

? }

? // 拼接參數(shù)

? //? 拼接為鍵值對的字符串

? let strVal = ''

? for (const key in info.data) {

? ? strVal += `${key}=${info.data[key]}&`;

? }

? // console.log(strVal); // name=leon&age=18&

? strVal = strVal.slice(0,-1);// 截取字符串中除了最后一個支字符

? // 1. 創(chuàng)建ajax對象

? const xhr = new XMLHttpRequest();

? // 判斷是否是get請求

? // 2. 配置請求方式和地址

? // 3. 發(fā)送請求

? if(info.method.toUpperCase() === 'GET'){

? ? xhr.open('get',`${info.url}?${strVal}`);

? ? xhr.send();

? }else{

? ? xhr.open('post',info.url);

? ? // post請求配置請求頭

? ? xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');

? ? xhr.send(strVal)

? }

? // 接受響應(yīng)

? xhr.onreadystatechange = function(){

? ? // 當(dāng)http狀態(tài)碼為200 ajax狀態(tài)碼4

? ? if(xhr.status == 200 && xhr.readyState == 4){

? ? ? // 判斷是否需要JSON轉(zhuǎn)換

? ? ? if(info.dataType == 'json'){

? ? ? ? var res = JSON.parse(xhr.responseText);

? ? ? }else{

? ? ? ? var res = xhr.responseText;

? ? ? }

? ? ? // 接受到參數(shù)后的回調(diào)函數(shù)

? ? ? info.fn(res);

? ? }

? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谁不,一起剝皮案震驚了整個濱河市寻定,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖侦另,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芙贫,死亡現(xiàn)場離奇詭異截酷,居然都是意外死亡势篡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門耳幢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岸晦,“玉大人,你說我怎么就攤上這事睛藻∑羯希” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵店印,是天一觀的道長冈在。 經(jīng)常有香客問我,道長按摘,這世上最難降的妖魔是什么包券? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任纫谅,我火速辦了婚禮,結(jié)果婚禮上溅固,老公的妹妹穿的比我還像新娘付秕。我一直安慰自己,他們只是感情好侍郭,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布询吴。 她就那樣靜靜地躺著,像睡著了一般亮元。 火紅的嫁衣襯著肌膚如雪猛计。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天爆捞,我揣著相機與錄音奉瘤,去河邊找鬼。 笑死煮甥,一個胖子當(dāng)著我的面吹牛毛好,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播苛秕,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼找默!你這毒婦竟也來了艇劫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤惩激,失蹤者是張志新(化名)和其女友劉穎店煞,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體风钻,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡顷蟀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了骡技。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸣个。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖布朦,靈堂內(nèi)的尸體忽然破棺而出囤萤,到底是詐尸還是另有隱情,我是刑警寧澤是趴,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布涛舍,位于F島的核電站,受9級特大地震影響唆途,放射性物質(zhì)發(fā)生泄漏富雅。R本人自食惡果不足惜掸驱,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望没佑。 院中可真熱鬧毕贼,春花似錦、人聲如沸图筹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽远剩。三九已至扣溺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓜晤,已是汗流浹背锥余。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留痢掠,地道東北人驱犹。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像足画,于是被迫代替她去往敵國和親雄驹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

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

  • 第五章******************************************************...
    fastwe閱讀 584評論 0 0
  • 值類型 (1)值類型賦值的時候不會相互影響 // 值類型let a = 100let b = aa = 200co...
    WEB前端含光閱讀 254評論 0 0
  • 我們自己模仿著jQuery封裝Ajax請求淹辞。 原生的Ajax請求上篇文章已經(jīng)都說清楚了医舆,大家應(yīng)該會感覺調(diào)用起來代碼...
    zhanghao121閱讀 244評論 0 0
  • 第一章 http 協(xié)議 ① 學(xué)習(xí)http協(xié)議的目標(biāo) 1. 調(diào)試ajax應(yīng)用程序中"看不見模不著"的錯誤 2. ...
    fastwe閱讀 455評論 0 0
  • //封裝jq版ajax請求 //我們的目標(biāo): //$.ajax({ //url:'', //type:"post"...
    灬小丑閱讀 483評論 0 0