Ajax狀態碼,xhr.readyState
ajax
0:UNSENT 未發送,建立Ajax對象,默認值爲0
1:OPENED 執行xhr.open
2:HEADERS_RECEIVED 當前ajax請求已經發送,而且已經接收到服務器端返回的相應頭信息
3:LOADING 響應主體內容正在返回
4:DONE 相應主體內容已經返回到客戶端編程
HTTP網絡狀態碼,記錄當前服務器返回信息的狀態xhr.status
json
200:標識成功狀態瀏覽器
以3開頭也表示成功,但服務器端作了特殊處理緩存
301:永久轉移(永久重定向),應用於域名遷移
302:臨時轉移(臨時重定向,新版本Http中307是臨時重定向),用於服務器負載均衡
304:從瀏覽器緩存中獲取數據,把不常更新的數據緩存到瀏覽器中服務器
以4開頭,標識失敗狀態,多在客戶端網絡
400:請求參數錯誤
401:無權限訪問
404:訪問地址不存在負載均衡
以5開頭,標識失敗狀態,多在服務器端異步
500:Internal Server Error 未知的服務器錯誤
503:Service Unavailable 服務器超負載async
題目:Ajax中總共支持幾個方法?
狀態
readyState
:存儲當前Ajax狀態碼response/responseText/responseXML
:接收服務器返回的相應主體內容
responseText
最經常使用,接收的結果爲字符串格式(通常服務器返回的數據都是JSON格式字符串)responseXML
接收XML文檔數據status
:記錄服務器端返回的HTTP狀態碼statusText
:對返回狀態碼的描述timeout
:設置當前Ajax請求的超時時間方法
abort()
:強制中斷Ajax請求getAllResponseHeaders()
:獲取所有的響應頭信息(獲取結果爲字符串文本)getResponseHeader(key)
:獲取指定屬性名的相應頭信息open()
:打開一個URL地址overrideMimeType()
:重寫數據的MIME類型send()
:發送Ajax請求setRequestHeader(key,value)
:設置請求頭信息事件
onabort()
:當Ajax被中斷,請求觸發此事件onreadystatechange
:Ajax狀態發生改變,觸發此事件ontimeout
:當Ajax請求超時,觸發此事件(非加密)正常編碼解碼
escape/unescape
:把中文漢字進行編碼解碼(通常只有JS支持)encodeURI/decodeURI
:基本全部編程語言都支持encodeURIComponent/decodeURIComponent
(加密)編碼解碼
URL問號傳遞參數,encodeURI
不能編碼一些特殊字符,只能使用encodeURLComponent
處理
Ajax任務:發送請求接收到相應主體內容(完整HTTP事務)
xhr.send()
:任務結束xhr.readyState===4
:任務結束url
:請求API地址method
:請求方式GET/POSTdataTpye
:預設結果類型,不影響服務器的返回(服務器通常返回JSON格式字符串),若是預設爲json
,類庫將服務器返回的字符串轉換爲json對象cache
:設置是否清除緩存,只對GET系列請求有效,默認是TRUE
不清除緩存,手動設置爲FALSE
,JQ類庫在請求URL的末尾追加一個隨機數來清楚緩存data
:經過DATA把一些信息傳遞給服務器(GET請求把DATA中的內容拼接在URL的末尾經過問好傳參的方式傳遞給服務器,POST請求把內容放在請求主體中傳遞給服務器)(DATA的值能夠設置爲兩種格式:字符串、對象)async
:設置同步或異步,默認是TRUE,表明異步,FALSE是同步success
:請求成功執行回調函數,並把獲取的結果做爲實參傳遞給回調函數error
:請求錯誤觸發回調函數complete
:完成,觸發回調函數