ajax
XMLHTTpRequest對(duì)象是Ajax的核心,XMLHTTpRequest對(duì)象使得js腳本能夠?qū)崿F(xiàn)對(duì)服務(wù)器的異步請(qǐng)求,即向后臺(tái)發(fā)送請(qǐng)求并接收服務(wù)器響應(yīng),通過(guò)動(dòng)態(tài)獲取響應(yīng)數(shù)據(jù)來(lái)更新局部頁(yè)面
簡(jiǎn)單一句話(huà),AJAX 就是用 JS 向服務(wù)端發(fā)起一個(gè)請(qǐng)求,并獲取服務(wù)器返回的內(nèi)容
onreadystatechange 每次動(dòng)態(tài)改變所觸發(fā)事件的事件處理順序
responseText 從服務(wù)器進(jìn)程返回?cái)?shù)據(jù)的字符串形式
responseXML 從服務(wù)器進(jìn)程返回DOM兼容的文檔數(shù)據(jù)對(duì)象
status 從服務(wù)器返回的數(shù)字代碼,比如常見(jiàn)的404,200
statusText 伴隨狀態(tài)碼的字符串信息
readyState 對(duì)象狀態(tài)
值
0(未初始化) 對(duì)象已建立,但是尚未初始化
1(初始化) 對(duì)象已建立,尚未調(diào)用send方法
2(發(fā)送數(shù)據(jù)) send方法調(diào)用,但是當(dāng)前的狀態(tài)及http頭未知
3(數(shù)據(jù)傳送中) 已接收部分?jǐn)?shù)據(jù)
4(完成) 已接收完畢可以通過(guò)responseXML和responseText獲取完整的數(shù)據(jù)
有兩種請(qǐng)求方式:
get方式傳送數(shù)據(jù)量小,處理效率高,安全性低,會(huì)被緩存
使用POST方式傳遞的數(shù)據(jù)量要比使用GET方式傳送的數(shù)據(jù)量大的多,相對(duì)于來(lái)說(shuō)安全
優(yōu)點(diǎn):
1、頁(yè)面無(wú)刷新,在頁(yè)面內(nèi)與服務(wù)通信,給用戶(hù)最好的體驗(yàn)
2、使用異步操作方式與服務(wù)器通信,不會(huì)打斷用戶(hù)的操作,具有更迅速的相應(yīng)能力
3、基于標(biāo)準(zhǔn)化(xml和json)的并廣泛的支持,不需要下載插件或者小程序
4、進(jìn)一步促進(jìn)頁(yè)面和數(shù)據(jù)的分離
缺點(diǎn):
(1)AJAX大量的使用了javascript和ajax引擎,這些取決于瀏覽器的支持.在編寫(xiě)的時(shí)候考慮對(duì)瀏覽器的兼容性。
(2)AJAX只是局部刷新,所以頁(yè)面的后退按鈕是沒(méi)有用的。
(3)對(duì)流媒體還有移動(dòng)設(shè)備的支持不是太好等。
(4)對(duì)搜索引擎的支持比較弱