AJAX允許通過(guò)與后臺(tái)的Web服務(wù)器交換數(shù)據(jù)來(lái)“異步”更新網(wǎng)頁(yè)。
這意味著可以更新網(wǎng)頁(yè)的某些部分,而無(wú)需重新加載整個(gè)頁(yè)面,也給用戶更好體驗(yàn),提高數(shù)據(jù)傳輸速度。
jQuery庫(kù)具有全套的Ajax功能。
其中的功能和方法使我們無(wú)需刷新瀏覽器頁(yè)面即可從服務(wù)器加載數(shù)據(jù)。
當(dāng)頁(yè)面上的任何Ajax請(qǐng)求發(fā)生某些Ajax事件(例如初始化或完成)時(shí),這些方法將附加一個(gè)要調(diào)用的函數(shù):
方法 | 描述 |
---|---|
ajaxComplete() | 附加一個(gè)在Ajax請(qǐng)求完成時(shí)要調(diào)用的函數(shù)。這是一個(gè)AjaxEvent |
ajaxError() | 附加一個(gè)在Ajax請(qǐng)求完成并出現(xiàn)錯(cuò)誤時(shí)要調(diào)用的函數(shù)。這是一個(gè)Ajax事件 |
ajaxSend() | 發(fā)送Ajax請(qǐng)求之前,附加一個(gè)要調(diào)用的函數(shù)。這是一個(gè)Ajax事件 |
ajaxStart() | 附加第一個(gè)Ajax請(qǐng)求開(kāi)始時(shí)要調(diào)用的函數(shù)。這是一個(gè)Ajax事件 |
ajaxStop() | 當(dāng)所有Ajax請(qǐng)求都完成時(shí),附加一個(gè)要調(diào)用的函數(shù)。這是一個(gè)Ajax事件 |
ajaxSuccess() | 每當(dāng)Ajax請(qǐng)求成功完成時(shí),都附加一個(gè)要調(diào)用的函數(shù)。這是一個(gè)Ajax事件 |
這些功能有助于執(zhí)行Ajax任務(wù)時(shí)遇到的常見(jiàn)習(xí)慣用法:
方法 | 描述 |
---|---|
$.param() | 創(chuàng)建數(shù)組或?qū)ο蟮男蛄谢硎拘问剑捎米鰽JAX請(qǐng)求的URL查詢(xún)字符串) |
serialize() | 將一組表單元素編碼為要提交的字符串 |
serializeArray() | 將一組表單元素編碼為名稱(chēng)和值的數(shù)組 |
這些方法可用于發(fā)出任意Ajax請(qǐng)求:
方法 | 描述 |
---|---|
$.ajax() | 執(zhí)行異步HTTP(AJAX)請(qǐng)求 |
$.ajaxPrefilter() | 在發(fā)送每個(gè)請(qǐng)求之前以及在$ .ajax()處理它們之前,處理自定義Ajax選項(xiàng)或修改現(xiàn)有選項(xiàng)。 |
$.ajaxSetup() | 設(shè)置將來(lái)的AJAX請(qǐng)求的默認(rèn)值。不建議使用 |
$.ajaxTransport() | 創(chuàng)建一個(gè)處理Ajax數(shù)據(jù)實(shí)際傳輸?shù)膶?duì)象 |
這些方法以較少的代碼執(zhí)行更常見(jiàn)的Ajax請(qǐng)求類(lèi)型:
方法 | 描述 |
---|---|
$.get() | 使用HTTP GET請(qǐng)求從服務(wù)器加載數(shù)據(jù) |
$.getJSON() | 使用GET HTTP請(qǐng)求從服務(wù)器加載JSON編碼的數(shù)據(jù) |
$.getScript() | 使用GET HTTP請(qǐng)求從服務(wù)器加載(并執(zhí)行)JavaScript文件 |
$.post() | 使用HTTP POST請(qǐng)求從服務(wù)器加載數(shù)據(jù) |
load() | 從服務(wù)器加載數(shù)據(jù)并將返回的HTML放入所選元素 |