ajax:Asynchronous Javascript and XML 異步Javascript 和XML。
是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。
1.0 優(yōu)勢(shì):
1.1 通過異步模式,提升了用戶體驗(yàn)。
1.2 優(yōu)化了瀏覽器與服務(wù)器之間的傳輸,減少了不必要的數(shù)據(jù)往返,減少了帶寬占用。
1.3 Ajax引擎在客戶端運(yùn)行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的共組,從而減少了大用戶量下的服務(wù)器負(fù)載。
2.0 工作原理
Ajax核心是Javascript對(duì)象XmlHttpRequest。該對(duì)象在 IE5中首次引用,它是一種支持異步請(qǐng)求的技術(shù)。XmlHttpRequest使您可以使用Javascript向服務(wù)器提出請(qǐng)求并處理響應(yīng),而不是阻塞用戶,達(dá)到無刷新的效果。
由于瀏覽器之間存在差異,創(chuàng)建XmlHttpRequest對(duì)象的方式也有差異(主要是IE和其他瀏覽器之間的差異)。
2.1 比較通用型的創(chuàng)建異步請(qǐng)求的方法:
2.2 XmlHttpRequest相關(guān)屬性:
onreadystatechange 每次狀態(tài)改變所觸發(fā)事件的事件處理程序。
responseText 從服務(wù)器進(jìn)程返回?cái)?shù)據(jù)的字符串形式。
responseXML 從服務(wù)器進(jìn)程返回的DOM兼容的文檔數(shù)據(jù)對(duì)象。
status 從服務(wù)器返回的數(shù)字代碼,比如常見的404(未找到)和200(已就緒)
status Text 伴隨狀態(tài)碼的字符串信息
readyState 對(duì)象狀態(tài)值
0 (未初始化) 對(duì)象已建立,但是尚未初始化(尚未調(diào)用open方法)
1 (初始化) 對(duì)象已建立,尚未調(diào)用send方法
2 (發(fā)送數(shù)據(jù)) send方法已調(diào)用,但是當(dāng)前的狀態(tài)及http頭未知
3 (數(shù)據(jù)傳送中) 已接收部分?jǐn)?shù)據(jù),因?yàn)轫憫?yīng)及http頭不全,這時(shí)通過responseBody和responseText獲取部分?jǐn)?shù)據(jù)會(huì)出現(xiàn)錯(cuò)誤,
4 (完成) 數(shù)據(jù)接收完畢,此時(shí)可以通過通過responseXml和responseText獲取完整的回應(yīng)數(shù)據(jù)
2.3 簡(jiǎn)單的Demo示例:
3.0 缺點(diǎn):
1.破壞了瀏覽器后退按鈕的正常行為,動(dòng)態(tài)更新頁面后,無法回到前一個(gè)頁面的狀態(tài)。
2.使用Javascript作為Ajax的基礎(chǔ)引擎,Javascript的兼容性并不是很好。(當(dāng)然現(xiàn)在流行的Jquery等javascript類庫大大改善了這些問題,對(duì)Ajax的調(diào)用也方便了很多,本文只是簡(jiǎn)述了Ajax的基本實(shí)現(xiàn)原理)。
標(biāo)簽:揭陽 佛山 紅河 股票 辛集 商洛 荊州 咸寧
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于Ajax技術(shù)原理的3點(diǎn)總結(jié)》,本文關(guān)鍵詞 關(guān)于,Ajax,技術(shù),原理,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。