.ajaxComplete()的使用以及詳解
阿新 • • 發佈:2018-11-02
.ajaxComplete()的使用以及詳解
先上一段程式碼:
$(document).ajaxComplete(function(event,request, settings){
var EwdFlag =request.getResponseHeader("EwdFlag")
if(EwdFlag=="noSession"){
window.top.location.href = "../index.jsp";
}
if(EwdFlag=='noRoute'){
var noRouteUrl=request.getResponseHeader("noRouteUrl" );
console.log(noRouteUrl+"路徑不存在")
window.location="../error/noRoute.jsp?url="+ noRouteUrl;
}
if(EwdFlag=='noPower'){
var noPowerUrl=request.getResponseHeader("noPowerUrl");
console.log(noPowerUrl+"沒有許可權");
window.location="../error/noRoute.jsp?url=" + noPowerUrl;
}
});
解析:上面這段程式碼位於common.js,每一個頁面都會引入,而
當然 ajax還有其他常用並且與之類似的函式
三個引數的作用
function(event,request, settings)
event - 包含 event 物件
xhr - 包含 XMLHttpRequest 物件
options - 包含 AJAX 請求中使用的選項
鄙人使用的方式在攔截器中判斷該使用者是否用該許可權,如果沒有則
((HttpServletResponse) resp).setHeader("EwdFlag", "noRoute");
然後再ajax執行完以後執行
if(EwdFlag=='noRoute'){
var noRouteUrl=request.getResponseHeader("noRouteUrl");
console.log(noRouteUrl+"路徑不存在")
window.location="../error/noRoute.jsp?url="+ noRouteUrl;
}
然後就會跳轉到沒有許可權提示的頁面,同理。驗證當前session是否過期也是用此方法,但是此方法僅僅適用於ajax請求以後,執行
還有一點:
$(document).ajaxComplete是所有的ajax執行完畢以後都會執行此方法