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