-
調用
xhr.open()
函數 -
調用
xhr.send()
函數 -
監聽
xhr.onreadystatechange
事件
1 // 1. 創建 XHR 對象 2 var xhr = new XMLHttpRequest() 3 // 2. 調用 open 函數 4 xhr.open('GET', 'http://www.liulongbin.top:3006/api/getbooks') 5 // 3. 調用 send 函數 6 xhr.send() 7 // 4. 監聽 onreadystatechange 事件 8 xhr.onreadystatechange = function () { 9 if (xhr.readyState === 4 && xhr.status === 200) { 10 // 獲取服務器響應的數據 11 console.log(xhr.responseText) 12 } 13 }
每個 Ajax
請求必然處於以
1 var xhr = new XMLHttpRequest() 2 xhr.open('GET', 'http://www.liulongbin.top:3006/api/getbooks?id=1') 3 xhr.send() 4 xhr.onreadystatechange = function () { 5 if (xhr.readyState === 4 && xhr.status === 200) { 6 console.log(xhr.responseText) 7 } 8 }
如果 URL 中需要包含中文這樣的字符,則必須對中文字符進行編碼
-
-
decodeURI()
解碼的函數
1 encodeURI('程序員') 2 decodeURI('%E9%A9%AC') 3 //輸出字符 程序員
瀏覽器會自動對 URL 地址進行編碼操作,因此,大多數情況下,程序員不需要關心 URL 地址的編碼與解碼操作
步驟
-
創建
xhr
對象 -
調用
xhr.open()
函數 -
設置 Content-Type 屬性(固定寫法)
-
調用
xhr.send()
函數,同時指定要發送的數據 -
監聽
xhr.onreadystatechange
事件
1 // 1. 創建 xhr 對象 2 var xhr = new XMLHttpRequest() 3 // 2. 調用 open 函數 4 xhr.open('POST', 'http://www.liulongbin.top:3006/api/addbook') 5 // 3. 設置 Content-Type 屬性(固定寫法) 6 xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') 7 // 4. 調用 send 函數 8 xhr.send('bookname=水滸傳&author=施耐庵&publisher=上海圖書出版社') 9 // 5. 監聽事件 10 xhr.onreadystatechange = function () { 11 if (xhr.readyState === 4 && xhr.status === 200) { 12 console.log(xhr.responseText) 13 } 14 }
JSON為主。
數據交換格式
XML
和 HTML
類似,
XML
和 HTML
雖然都是標記語言,但是,它們兩者之間沒有任何的關系。
-
HTML
被設計用來描述網頁上的內容,是網頁內容的載體 -
XML
被設計用來傳輸和存儲數據,是數據的載體
-
XML
格式臃腫,和數據無關的代碼多,體積大,傳輸效率低 -
在
Javascript
中解析XML
比較麻煩
簡單來講,JSON
就是 Javascript
對象和數組的字符串表示法,它使用文本表示一個 JS
對象或數組的信息,因此,
JSON
的本質是字符串
JSON
是一種輕量級的文本數據交換格式,在作用上類似於 XML
,專門用於存儲和傳輸數據,但
是 JSON
比 XML
更小、更快、更易解析。
現狀:JSON
是在 2001 年開始被推廣和使用的數據格式,到現今為止,JSON
已經成為了主流的數據交
換格式
對象結構在 JSON
中表示為 { }
括起來的內容。數據結構為 { key: value, key: value, … }
的鍵 布爾值、null、數組、對象
數組結構在 JSON
中表示為 [ ]
括起來的內容。數據結構為 [ "java", "javascript", 30, true … ]
。
數組中數據的類型可以是數字、字符串、布爾值、null、數組、對象6種類型。
② 字符串類型的值必須使用雙引號包裹
③ JSON
中不允許使用單引號表示字符串
④ JSON
中不能寫注釋
⑤ JSON
的最外層必須是對象或數組格式
⑥ 不能使用 undefined
或函數作為 JSON
的值
JSON
的作用:在計算機與網絡之間存儲和傳輸數據。
JSON
的本質:用字符串來表示 Javascript
1 var xhr = new XMLHttpRequest() 2 xhr.open('GET', 'http://www.liulongbin.top:3006/api/getbooks') 3 xhr.send() 4 xhr.onreadystatechange = function () { 5 if (xhr.readyState === 4 && xhr.status === 200) { 6 console.log(xhr.responseText) 7 console.log(typeof xhr.responseText) 8 var result = JSON.parse(xhr.responseText) 9 console.log(result) 10 } 11 }
把數據對象 轉換為 字符串的過程,叫做序列化,例如:調用 JSON.stringify()
函數的操作,叫做 JSON
序列化。
把字符串 轉換為 數據對象的過程,叫做反序列化,例如:調用 JSON.parse()
函數的操作,叫做 JSON
-
可以設置 HTTP 請求的時限
-
可以使用
FormData
對象管理表單數據 -
可以上傳文件
-
-----------------------------------------------------------------未完待更新----------------------------------------------------------------------------------