請問該如何解決以下的問題:
由於目前使用Ajax來獲取部分檢視View的內容,
但是當使用者的身分認證過期時,原本應獲取的View內容,
卻傳回了登入頁面,預期應該是自動跳轉到登入頁面,而不是回傳登入頁面。
$.ajax({
type: "GET",
url: "/Test/TestPartialView",
data: { something data... },
error: function (request, status, error) {
},
success: function (resp) {
$("#testDiv").html(resp);
}
});
我最近的專案是這樣寫的
只要進入需要登入的Controller時
但未登入就傳回Header:X-Auth-Failed
錯誤等於1
然後在layout的地方每當ajax認證時有錯就會跑這段ajaxError
$(document).ajaxError(function (event, xhr, settings) {
if (xhr.getResponseHeader("X-Auth-Failed") == "1") {
top.location.href = '登入頁面';
}
}
感謝答复,我這裡測試了幾次,當Token過期的時候,我會拿到登錄頁面的內容,但是狀態:200,也沒有觸發ajax的錯誤。
而是直接取得登錄頁面
ksg
你要做驗證的Attritube來過濾未登入的人呼叫Method
未登入進到登入的Method不能回應200啊....
應該說你不是從後端導回登入頁
而是要丟回未登入的狀態回去讓ajaxError觸發