0
從請求到服務器我返回401錯誤。爲什麼ajax安裝在這種情況下不起作用?
我想處理這個並適當地重定向用戶。
起初我試圖用ajaxSetup來捕獲錯誤並處理它,但是這並沒有被打到。
然後我改變它使用ajaxError方法,這個工程。
爲什麼當我使用ajaxSetup時不會碰到錯誤方法?
這工作:
$("body").ajaxError(
function (e, request) {
if (request.status == 401) {
alert("Your session has expired. Please login again to continue.");
window.location = "/admin/account/logon";
}
}
);
但是,這並不工作:
$.ajaxSetup({
cache: false,
error: function (jqXHR, textStatus, errorThrow) {
if (jqXHR.status == 401) {
alert("Your session has expired. Please login again to continue.");
window.location = "/admin/account/logon";
}
}
});
它使用jQuery不顯眼的Ajax觸發,鏈接如下:
<a title="Delete this comment" class="close " data-ajax="true" data-ajax-confirm="Are you sure you want to delete this comment?" data-ajax-method="POST" data-ajax-mode="replace" data-ajax-update="#Comments" href="/myurl">×</a>
使用$(document)而不是$(body)。另外,我不明白這個問題,您是否問過_why_jQuery語法是這樣工作的?你的ajax調用中的 – 2013-03-15 04:22:21
是否註冊了更多的錯誤處理程序?分享你如何使ajax呼叫 – 2013-03-15 04:23:46
我已經更新了問題和其他細節。 – shenku 2013-03-15 04:29:51