Ajax狀況碼,xhr.readyState
0:UNSENT 未發送,建立Ajax對象,默許值為0
1:OPENED 實行xhr.open
2:HEADERS_RECEIVED 當前ajax要求已發送,而且已吸收到服務器端返回的相應頭信息
3:LOADING 相應主體內容正在返回
4:DONE 相應主體內容已返回到客戶端
Http收集狀況碼
HTTP收集狀況碼,紀錄當前服務器返回信息的狀況xhr.status
200:標識勝利狀況
以3開首也示意勝利,但服務器端做了特別處置懲罰
301:永遠轉移(永遠重定向),應用於域名遷徙
302:暫時轉移(暫時重定向,新版本Http中307是暫時重定向),用於服務器負載平衡
304:從瀏覽器緩存中獵取數據,把不常更新的數據緩存到瀏覽器中
以4開首,標識失利狀況,多在客戶端
400:要求參數毛病
401:無權限接見
404:接見地點不存在
以5開首,標識失利狀況,多在服務器端
500:Internal Server Error 未知的服務器毛病
503:Service Unavailable 服務器超負載
Ajax經常運用屬性和要領
問題: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要求超時,觸發此事宜
JS編碼解碼
(非加密)一般編碼解碼
-
escape/unescape
:把中文漢字舉行編碼解碼(平常只要JS支撐) -
encodeURI/decodeURI
:基礎一切編程言語都支撐 encodeURIComponent/decodeURIComponent
(加密)編碼解碼
URL問號通報參數,encodeURI
不能編碼一些特別字符,只能運用encodeURLComponent
處置懲罰
- 可逆加密
- 不可逆加密(基於MD5加密,能夠會把MD5加密后的效果二次加密)
Ajax的同步和異步
Ajax使命:發送要求吸收到相應主體內容(完全HTTP事件)
-
xhr.send()
:使命完畢 -
xhr.readyState===4
:使命完畢
Ajax類庫的封裝
-
url
:要求API地點 -
method
:要求體式格局GET/POST -
dataTpye
:預設效果範例,不影響服務器的返回(服務器平常返回JSON花樣字符串),假如預設為json
,類庫將服務器返回的字符串轉換為json對象 -
cache
:設置是不是消滅緩存,只對GET系列要求有用,默許是TRUE
不消滅緩存,手動設置為FALSE
,JQ類庫在要求URL的末端追加一個隨機數來清晰緩存 -
data
:經由過程DATA把一些信息通報給服務器(GET要求把DATA中的內容拼接在URL的末端經由過程問好傳參的體式格局通報給服務器,POST要求把內容放在要求主體中通報給服務器)(DATA的值能夠設置為兩種花樣:字符串、對象) -
async
:設置同步或異步,默許是TRUE,代表異步,FALSE是同步 -
success
:要求勝利實行回調函數,並把獵取的效果作為實參通報給回調函數 -
error
:要求毛病觸發還調函數 -
complete
:完成,觸發還調函數