AJAX是什麼?
是Asynchronous Javascript And XML的首字母的縮寫, 它不是一門的新的語言,而是對現有技術的綜合利用。 其本質是在HTTP協議的基礎上以異步的方式與服務器進行通信。
異步的概念?
指某段程序執行時不會阻塞其它程序執行,其表現形式為程序的執行順序不依賴程序本身的書寫順序,相反則為同步。
異步的作用?
其優勢在於不阻塞程序的執行,從而提升整體執行效率。
AJAX的核心?
XMLHTTPRequest,簡寫XHR,Xml可擴展標記語言,Http超文本傳輸協議,Request請求。XMLHttpRequest對象可以在不向服務器提交整個頁面的情況下,實現局部更新網頁。XMLHttpRequest 對象提供了對 HTTP 協議的完全的訪問,包括做出 POST 和 HEAD 請求以及普通的 GET 請求的能力。XMLHttpRequest 可以同步或異步返回 Web 服務器的響應,並且能以文本或者一個 DOM 文檔形式返回內容。它可以接收任何形式的文本文檔,是 AJAX 的 Web 應用程序架構的一項關鍵功能。
前文說到XMLHTTPRequest可以接收任何形式的文檔,那麼就不得不提到在網絡傳輸中常用的兩個數據格式。
兩種常用的數據格式xml和JSON?
xml:
xml的定義:可擴展標記語言,是一種用於標記電子文件使其具有結構性的標記語言。
xml的規范:
1、必須有一個根元素
2、不可有空格、不可以數字或.開頭、大小寫敏感
3、不可交叉嵌套
4、屬性雙引號(浏覽器自動修正成雙引號了)
5、特殊符號要使用實體
6、注釋和HTML一樣
雖然可以描述和傳輸復雜數據,但是其解析過於復雜並且體積較大,所以實現開發已經很少使用了。
xml使用步驟簡述:
由於xml是DOM對象,可以直接DOM方法,
1、var xml=xhr.responseXML;獲取XML(PHP給的接口)
2、var items=xml.querySelector('item');獲取xml的文檔結構
3、字符串拼接
3.1、初始化var html='';
3.2、遍歷for(){獲取數據var item=item[i],}拼接html+='標簽+數據'
4、渲染document.querySelector('tbody').innerHTHML=html
JSON:
JSON定義:JavaScript Object Notation,另一種輕量級的文本數據交換格式,獨立於語言。
JSON的規范:
1、數據在名稱/值對中
2、數據由逗號分隔(最後一個健/值對不能帶逗號)
3、花括號保存對象方括號保存數組
4、使用雙引號
JSON的跨語言解析:
JSON數據在不同語言進行傳輸時,類型為字符串,不同的語言各自也都對應有解析方法,需要解析完成後才能讀取。
1、PHP解析方法
數組轉json字符 json_encode->$json_array = json_encode($array);
json字符轉成數組 json_decode->$array_json = json_decode($json_array);
2、Javascript 解析方法
字符串轉對象parse->var jsonObj=JSON.parse(jsonStr);
對象轉字符串stringify->var jsonStr=JSON.stringify(jsonObj);
tips:JSON兼容處理引用json2.js
XMLHttpRequest中的事件監聽onreadystatechange?
以上這篇AJAX應用中必須要掌握的重點知識(分享)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。