ajax實(shí)踐

1.ajax 是什么和悦?有什么作用遍膜?

  • AJAX = Asynchronous JavaScript and XML:異步的 JavaScript 和 XML
  • 實(shí)現(xiàn)網(wǎng)頁的異步加載郎仆,局部刷新網(wǎng)頁。當(dāng)在向服務(wù)器獲取新數(shù)據(jù)時(shí)不需要刷新整個(gè)網(wǎng)頁捺癞,提高用戶體驗(yàn)憾赁。

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

  • 注意事項(xiàng)
    • 約定數(shù)據(jù):有哪些需要傳輸?shù)臄?shù)據(jù)耽装,數(shù)據(jù)類型是什么
    • 約定接口:確定接口名稱及請求和響應(yīng)的格式,請求的參數(shù)名稱期揪、響應(yīng)的數(shù)據(jù)格式
  • server-mock

3.點(diǎn)擊按鈕掉奄,使用 ajax 獲取數(shù)據(jù),如何在數(shù)據(jù)到來之前防止重復(fù)點(diǎn)擊?

  • 創(chuàng)建一個(gè)變量作為狀態(tài)鎖(標(biāo)志位),初始為true姓建,發(fā)送后置為false诞仓,若為false直接return
var AjaxLocking = true;
//點(diǎn)擊事件監(jiān)聽函數(shù)
xxx.addEventListener('clock',function(){
  if(!AjaxLocking){
    return;
  }
  xhr.onreadystatechange = function(){ //事件
    if(xhr.readyState === 4){
      //...
    AjaxLocking = true;
    }
 } 
  xhr.open()
  xhr.send()
  AjaxLocking = false;
})

4.封裝一個(gè) ajax 函數(shù),能通過如下方式調(diào)用速兔。后端在本地使用server-mock來 mock 數(shù)據(jù)

function ajax(opts){
    opts.success = opts.success || function () {};
    opts.error = opts.error || function () {};
    opts.type = opts.type || 'get';
    opts.dataType = opts.dataType || {};
    opts.data = opts.data || {};
    var dataStr = '';
    for (var key in opts.data)
    {
        dataStr += key + '=' + opts.data[key] + '&';
    }
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200 || xmlhttp.status == 304) {
                if (opts.dataType === 'text') {
                    opts.success(xmlhttp.responseText);
                }
                if (opts.dataType === 'json') {
                    var json = JSON.parse(xmlhttp.responseText);
                    opts.success(json);
                }
            } else {
              opts.error();
            }
        }
    };

    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();
    }
}

5.實(shí)現(xiàn)加載更多的功能墅拭,效果范例107,后端在本地使用server-mock來模擬數(shù)據(jù)

GitHub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涣狗,一起剝皮案震驚了整個(gè)濱河市谍婉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌镀钓,老刑警劉巖穗熬,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異丁溅,居然都是意外死亡唤蔗,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門窟赏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妓柜,“玉大人,你說我怎么就攤上這事涯穷×旌纾” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵求豫,是天一觀的道長塌衰。 經(jīng)常有香客問我,道長蝠嘉,這世上最難降的妖魔是什么最疆? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮蚤告,結(jié)果婚禮上努酸,老公的妹妹穿的比我還像新娘。我一直安慰自己杜恰,他們只是感情好获诈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著心褐,像睡著了一般舔涎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上逗爹,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天亡嫌,我揣著相機(jī)與錄音,去河邊找鬼。 笑死挟冠,一個(gè)胖子當(dāng)著我的面吹牛于购,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播知染,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼肋僧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了控淡?” 一聲冷哼從身側(cè)響起嫌吠,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逸寓,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體覆山,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡竹伸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了簇宽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勋篓。...
    茶點(diǎn)故事閱讀 39,992評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖魏割,靈堂內(nèi)的尸體忽然破棺而出譬嚣,到底是詐尸還是另有隱情,我是刑警寧澤钞它,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布拜银,位于F島的核電站,受9級特大地震影響遭垛,放射性物質(zhì)發(fā)生泄漏尼桶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一锯仪、第九天 我趴在偏房一處隱蔽的房頂上張望泵督。 院中可真熱鬧,春花似錦庶喜、人聲如沸小腊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秩冈。三九已至,卻和暖如春斥扛,著一層夾襖步出監(jiān)牢的瞬間漩仙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留队他,地道東北人卷仑。 一個(gè)月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像麸折,于是被迫代替她去往敵國和親锡凝。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評論 2 355

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