什麼是 jQuery AJAX 事件?
Ajax 請求會產生許多不同的事件,您可以訂閱這些事件。讓我們檢查兩種型別的事件。
有兩種型別的事件
本地事件
這些是在 Ajax 請求物件中可以訂閱的回撥函式。
$.ajax({
beforeSend: function(){
// Handle the beforeSend event
},
complete: function(){
// Handle the complete event
}
// ......
});全域性事件
這些事件會廣播到 DOM 中的所有元素,觸發任何可能正在監聽的處理程式。您可以像這樣監聽這些事件:
$("#loading").bind("ajaxSend", function(){
$(this).show();
}).bind("ajaxComplete", function(){
$(this).hide();
});可以透過傳入全域性選項來停用特定 Ajax 請求的全域性事件,如下所示:
$.ajax({
url: "test.html",
global: false,
// ...
});這是完整的 Ajax 事件列表。`ajaxStart` 和 `ajaxStop` 事件是與所有 Ajax 請求相關的事件。
- **ajaxStart (全域性事件)** - 如果啟動了 Ajax 請求並且當前沒有其他 Ajax 請求正在執行,則會廣播此事件。
- **beforeSend (本地事件)** - 此事件在啟動 Ajax 請求之前觸發,允許您修改 XMLHttpRequest 物件(如有需要,可以設定附加標頭)。
- **ajaxSend (全域性事件)** - 此全域性事件也在請求執行之前觸發。
- **success (本地事件)** - 只有在請求成功時(伺服器沒有錯誤,資料沒有錯誤)才會呼叫此事件。
- **ajaxSuccess (全域性事件)** - 只有在請求成功時才會呼叫此事件。
- **error (本地事件)** - 只有在請求發生錯誤時才會呼叫此事件(請求中永遠不可能同時具有 error 和 success 回撥)。
- **ajaxError (全域性事件)** - 此全域性事件的行為與本地 error 事件相同。
- **complete (本地事件)** - 無論請求是否成功,都會呼叫此事件。即使對於同步請求,您也會始終收到 complete 回撥。
- **ajaxComplete (全域性事件)** - 此事件的行為與 complete 事件相同,並且每次 Ajax 請求完成時都會觸發。
- **ajaxStop (全域性事件)** - 如果沒有更多 Ajax 請求正在處理,則會觸發此全域性事件。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP