サーバーへのリクエストから、401エラーが返されます。
これを処理して、ユーザーを適切にリダイレクトしたいと思います。
最初は、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 Unobtrusive 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>