AJAX

ajax 是什么?有什么作用震嫉?

ajax通過原生的XMLHttpRequest對象發(fā)出HTTP請求森瘪,得到服務器返回的數(shù)據(jù)后,再進行處理票堵。
ajax可以無需刷新整個網(wǎng)頁扼睬,而是對部分網(wǎng)頁進行刷新。

前后端開發(fā)聯(lián)調(diào)需要注意哪些事情悴势?后端接口完成前如何 mock 數(shù)據(jù)痰驱?

前后端進行開發(fā)前,要定義好接口以及數(shù)據(jù)形式等細節(jié)瞳浦,已達到解耦效果。
后端接口完成前废士,前端可以通過MOCKJS等工具模擬數(shù)據(jù)叫潦。

點擊按鈕,使用 ajax 獲取數(shù)據(jù)官硝,如何在數(shù)據(jù)到來之前防止重復點擊?

通過設定標記

var flag=false;
tn.addEventListener('click', function(e) {
    //......
    flag = true;
    if(flag){
        return;
    }
});

在請求數(shù)據(jù)時矗蕊,函數(shù)flag設為false,保證不重復點擊

代碼

  1. 封裝一個 ajax 函數(shù),能通過如下方式調(diào)用
function ajax(opts){
    // todo ...
}
document.querySelector('#btn').addEventListener('click', function(){
    ajax({
        url: 'getData.php',   //接口地址
        type: 'get',               // 類型氢架, post 或者 get,
        data: {
            username: 'xiaoming',
            password: 'abcd1234'
        },
        success: function(ret){
            console.log(ret);       // {status: 0}
        },
        error: function(){
           console.log('出錯了')
        }
    })
});

實現(xiàn):

function ajax(opts){
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function(){
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
            var ret = JSON.parse(xmlhttp.responseText);
            opts.success(ret);
        }
        if(xmlhttp.status == 404){
            opts.error();
        }
    };
    var dataStr = '';
    for(var key in opts.data){
        dataStr += key + '=' + opts.data[key] + '&';
    }
    dataStr = dataStr.substr(0,dataStr.length-1);

    if(opts.type.toLowerCase() == 'post'){
        xmlhttp.open(opts.type,opts.url,true);
        xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        xmlhttp.send(dataStr);
    }
    if(opts.type.toLowerCase() == 'get'){
        xmlhttp.open(opts.type,opts.url+'?'+dataStr,true);
        xmlhttp.send();
    }
}
  1. 實現(xiàn)如下加載更多的功能傻咖。效果如下: http://jrgzuoye.applinzi.com/作業(yè)安排/jscode/JS9-jqueryajax/1.html
    新浪云
    源碼
  2. 實現(xiàn)注冊表單驗證功能效果如下:http://jrgzuoye.applinzi.com/作業(yè)安排/jscode/JS7-ajax/3.html
    新浪云
    源碼
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市岖研,隨后出現(xiàn)的幾起案子卿操,更是在濱河造成了極大的恐慌警检,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件害淤,死亡現(xiàn)場離奇詭異扇雕,居然都是意外死亡,警方通過查閱死者的電腦和手機窥摄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門镶奉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人崭放,你說我怎么就攤上這事哨苛。” “怎么了币砂?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵建峭,是天一觀的道長。 經(jīng)常有香客問我道伟,道長迹缀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任蜜徽,我火速辦了婚禮祝懂,結果婚禮上,老公的妹妹穿的比我還像新娘拘鞋。我一直安慰自己砚蓬,他們只是感情好,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布盆色。 她就那樣靜靜地躺著灰蛙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隔躲。 梳的紋絲不亂的頭發(fā)上摩梧,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音宣旱,去河邊找鬼仅父。 笑死,一個胖子當著我的面吹牛浑吟,可吹牛的內(nèi)容都是我干的笙纤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼组力,長吁一口氣:“原來是場噩夢啊……” “哼省容!你這毒婦竟也來了?” 一聲冷哼從身側響起燎字,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤腥椒,失蹤者是張志新(化名)和其女友劉穎阿宅,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寞酿,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡家夺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伐弹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拉馋。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖惨好,靈堂內(nèi)的尸體忽然破棺而出煌茴,到底是詐尸還是另有隱情,我是刑警寧澤日川,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布蔓腐,位于F島的核電站,受9級特大地震影響龄句,放射性物質發(fā)生泄漏回论。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一分歇、第九天 我趴在偏房一處隱蔽的房頂上張望傀蓉。 院中可真熱鬧,春花似錦职抡、人聲如沸葬燎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谱净。三九已至,卻和暖如春擅威,著一層夾襖步出監(jiān)牢的瞬間壕探,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工郊丛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留浩蓉,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓宾袜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親驾窟。 傳聞我的和親對象是個殘疾皇子庆猫,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

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

  • 1: ajax 是什么?有什么作用绅络? ajax全稱是Asynchrous JavaScript XML的縮寫月培。 作...
    LINPENGISTHEONE閱讀 185評論 0 0
  • 問題 1. ajax 是什么嘁字?有什么作用? Ajax是Asynchronous JavaScript and XM...
    愛上簾外修竹閱讀 408評論 0 0
  • 1.ajax 是什么杉畜?有什么作用纪蜒? ajax主要是實現(xiàn)頁面和web服務器之間數(shù)據(jù)的異步傳輸。不采用ajax的頁面此叠,...
    candy252324閱讀 266評論 0 0
  • ajax 是什么纯续?有什么作用? ajax是Asynchronous JavaScript + XML的簡寫灭袁。是一項...
    coolheadedY閱讀 198評論 0 0
  • 問答 1. ajax 是什么猬错?有什么作用? Ajax是Asynchronous JavaScript and XM...
    Maggie_77閱讀 400評論 0 0