在我們的項目中,我們爲各種操作製作了很多json回調函數。我會給你一個這樣的Ajax調用下面如何在asp.net mvc3 web應用程序中的json調用期間處理會話超時?
$.ajax({
url: '../Controller1/Method1',
type: "POST",
data: "{'Id': '" + Id "'}",
dataType: "html",
contentType: "application/json; charset=utf-8",
success: function (result) {
$('#div').html(result);
}, error: function (s) {
ShowAlert(s.responseText);
}
});
現在一個例子,當會話超時,如果我們正在一個JSON Ajax回調,那麼它是不是重定向到登錄頁面正確, 所以如何在json ajax回調期間處理會話超時,並且如果會話過期並且創建了ajax回調,它應該將我重定向到登錄頁面。
如何做到這一點?任何幫助(代碼示例,有用的鏈接)將非常感激。
如果你能找回一個特定的錯誤信息,爲什麼你不能簡單地做一個'window.location =;'? –
Tejs
2012-04-25 17:20:10
如果會話超時和ajax回調,然後我wan我的登錄頁面呈現。 – 2012-04-26 04:15:34
您使用FormsAuthentication嗎?如果是這樣,未經身份驗證的請求發送到具有授權屬性的頁面的默認行爲是發出重定向到登錄頁面。這裏的問題是你的AJAX調用不知道你被重定向,內容將是登錄頁面。建議修改您的MVC項目以返回HTTP 401並讓您的AJAX調用吃掉401並顯示一些登錄框。 – 2012-04-26 04:24:41