ajax在項(xiàng)目當(dāng)中是當(dāng)作異步傳輸模式來做的,異步傳輸是相對(duì)于同步來說的,當(dāng)我們按F5刷新一個(gè)頁面時(shí),那么整個(gè)頁面在瀏覽器當(dāng)中所有的數(shù)據(jù)都會(huì)刷一次,但是如果當(dāng)頁面上有某一塊的數(shù)據(jù)需要變更時(shí)贺辰,那么在這個(gè)時(shí)候調(diào)用ajax,ajax會(huì)刷新這一部分?jǐn)?shù)據(jù)而不用刷新整個(gè)頁面,這就是異步傳輸饲化。
對(duì)于我們實(shí)現(xiàn)ajax來說莽鸭,一般分為這么幾種情況,
第一種是原生ajax吃靠,
第二種jQuery簡化后的ajax硫眨。
原生ajax的使用情況是這樣的:
首先創(chuàng)建ajax的對(duì)象這個(gè)時(shí)候需要考慮兼容性,
然后調(diào)用open()方法打開ajax的鏈接巢块,里面寫請(qǐng)
求數(shù)據(jù)的方式get/post礁阁、請(qǐng)求的路徑、true/false是否異步族奢,鏈接建立后姥闭,服務(wù)器開始執(zhí)行,
調(diào)用send()方法來發(fā)送請(qǐng)求越走,
在這個(gè)過程中需要調(diào)用一個(gè)監(jiān)聽事件onreadyStateChange棚品,在監(jiān)聽的過程中,有5個(gè)狀態(tài)值(readyState)需要注意廊敌,當(dāng)狀態(tài)值為4的時(shí)候表示執(zhí)行完畢铜跑,當(dāng)狀態(tài)碼(status)為200的時(shí)候表示執(zhí)行成功,然后把請(qǐng)求的數(shù)據(jù)輸出(responseText())骡澈,
然后再進(jìn)行遍歷疼进,執(zhí)行頁面的操作,這就是原生的ajax秧廉。
jQuery簡化后的ajax,
$.ajax調(diào)用的時(shí)候里面有幾個(gè)重要的參數(shù):
type拣帽、url疼电、dataType、success减拭、error蔽豺。
這些參數(shù)對(duì)應(yīng)的就是原生ajax的那些值
ajax的優(yōu)點(diǎn):
1、實(shí)現(xiàn)了異步傳輸拧粪,帶來了更好的用戶體驗(yàn)修陡;
2、ajax占用的空余時(shí)間較少可霎,ajax能夠?qū)崿F(xiàn)及時(shí)通訊系統(tǒng)魄鸦,開創(chuàng)了調(diào)用其他接口方便的先河;
ajax的缺點(diǎn):
1癣朗、由于ajax局部刷新數(shù)據(jù)拾因,使服務(wù)器在頻繁的處理請(qǐng)求中速度變慢;
2、使用ajax緩存嚴(yán)重绢记,導(dǎo)致數(shù)據(jù)不同步扁达;
綜上所述,就是我對(duì)ajax的理解蠢熄。