jQuery Ajax 全局事件是一種用于處理 Ajax 請求的機制。具體來說,全局事件就是可以為網站中的所有 Ajax 請求定義一些特定的回調函數,以便在每個 Ajax 請求的不同階段執(zhí)行相應的操作。
全局事件包括以下五種:
- ajaxStart() - ajaxStop() - ajaxComplete() - ajaxError() - ajaxSuccess()
其中,ajaxStart() 和 ajaxStop() 回調函數在一個 Ajax 請求開始發(fā)送前以及所有Ajax請求結束后(不論請求是否成功)被執(zhí)行。它們經常被用來在網站的頂部或底部展示一個全局的加載或者進度條。
$(document).ajaxStart(function(){ // 在每個Ajax 請求開始時顯示加載/進度條 $('#loader').show(); }); $(document).ajaxStop(function(){ // 在所有Ajax 請求結束后隱藏加載/進度條 $('#loader').hide(); });
ajaxComplete() 回調函數也是在每個 Ajax 請求結束后被執(zhí)行。但它只在請求成功結束(status=200)時被執(zhí)行,而不能在請求失敗時執(zhí)行。
$(document).ajaxComplete(function(event, xhr, settings) { console.log('請求已完成'); });
ajaxError() 回調函數則是在一個 Ajax 請求失敗時立即被執(zhí)行。它的參數中包含了錯誤信息和錯誤碼。
$(document).ajaxError(function(event, xhr, settings, thrownError) { console.log('請求錯誤:' + thrownError); });
ajaxSuccess() 回調函數則是在一個 Ajax 請求成功完成時被執(zhí)行。與 ajaxError() 不同,ajaxSuccess() 可以獲取到請求返回的數據。
$(document).ajaxSuccess(function(event, xhr, settings) { console.log('請求成功'); console.log(xhr.reponseText); });
通過全局事件,我們可以更加方便地管理網站中的所有 Ajax 請求,處理錯誤信息和返回的數據,以及實現全局的進度條等功能。
上一篇mysql與前端交互過程
下一篇mysql與大數據庫設計