ajax實踐

題目1: ajax 是什么?有什么作用?

ajax全稱Asynchronous Javascript And XML,即創建異步交互的網頁應用的一種開發技術,當在網頁中涉及到很多數據信息時,往往不是把所有的信息直接寫在html頁面上,而是通過數據交互從后臺獲取數據,而傳統的表單提交數據需要提交整個網頁,有時只是更新頁面上很少部分的數據卻要刷新整個網頁,效率低,用戶體驗差,因此人們思考通過能否通過局部刷新網頁的方式,達到肉眼看起來“無刷新”的效果,這樣ajax這種新的技術就被提出來,ajax通過核心對象XMLHttpRequest,用js的方式向服務端提交少量數據,并處理響應,同時不阻塞用戶在網頁上的其他動作,達到異步刷新,局部更新網頁的目的。

題目2: 前后端開發聯調需要注意哪些事情?后端接口完成前如何 mock 數據?

確認好分工,角色;約定好接口的參數,格式,數據,接口地址,傳遞方式,回傳數據的內容類型;討論好接口的實現方式后,由前后臺人員確認是否可行,再開始開發;確認接口與html內容整合統一后若頁面出現樣式或其他問題由誰來解決。
mock數據指的是在后端開發沒有完成時,前端可以通過mock方法搭建本地服務器,模擬后臺數據來實現數據交互的效果。可以通過安裝xampp在本地搭建服務器,也可以安裝server-mock,這樣不需要特地去寫一個后臺的處理頁面文件來訪問數據。

題目3:點擊按鈕,使用 ajax 獲取數據,如何在數據到來之前防止重復點擊?

設置狀態鎖:設置一個變量locked,初始值為false,觸發相關事件時為ture,并且設置當locked為true時return。當事件函數里面的ajax執行完之后設置locked為false,這樣當ajax請求的數據還沒來之前如果重復點擊的話,就會直接return出該事件函數,使重復點擊無效。

題目4:封裝一個 ajax 函數,能通過如下方式調用。后端在本地使用server-mock來 mock 數據

function ajax(opts) {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {

        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var result = JSON.parse(xmlhttp.responseText);
            opts.success(result);
        }

        if (xmlhttp.readyState == 4 && xmlhttp.status == 404) {
            opts.error();
        }

    };

    var tmpArr = [];
    for (var key in opts.data) {
        tmpArr.push(key + "=" + opts.data[key]);
    }
    var data = tmpArr.join('&');

    if (opts.type.toLowerCase() === 'get') {
        xmlhttp.open('get', opts.url + '?' + data);
        xmlhttp.send(null);

    }

    if (opts.type.toLowerCase() === 'post') {
        xmlhttp.open('get', opts.url);
        xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        xmlhttp.send(data);
    }
}

題目5:實現加載更多的功能,后端在本地使用server-mock來模擬數據

  • 效果 由于不能部署動態頁面,后端在本地使用server-mock模擬數據
  • 代碼地址
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 題目1: ajax 是什么?有什么作用? 含義:腳本發起HTTP通信 作用:傳輸數據到服務器,監聽狀態碼實現服務器...
    從前慢pearl閱讀 148評論 0 0
  • 1- 關于 ajax 及其作用 Ajax是Asynchronous JavaScript and XML的縮寫。...
    osborne閱讀 547評論 0 0
  • ajax 是什么?有什么作用? AJAX的全稱是Asynchronous JavaScript and XML(異...
    cross_王閱讀 340評論 0 0
  • 1、 ajax 是什么?有什么作用? ajax(Asynchronous JavaScript and XML 異...
    不是我的簡書閱讀 298評論 0 0
  • 題目1: ajax 是什么?有什么作用? ajax是一種技術方案,但并不是一種新技術。它依賴的是現有的CSS/HT...
    蕭雪圣閱讀 291評論 0 0