0
A
回答
0
如果默認頁面假設重定向你可以嘗試捕捉特定超時/驗證錯誤,並在此基礎上的錯誤從客戶端重定向到登錄控制器
這裏從這篇文章
$.ajax({
url: "/yourservlet",
data: { },
complete: function(xmlHttp) {
if(xmlHttp.status==401)
{
// redirect to login page
}
}
});
2
你可以寫一個自定義的[授權]屬性,該屬性將返回,而不是在未經授權的訪問情況下,這將允許客戶端腳本來處理拋出401異常JSON場景優雅:
AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class MyAuthorizeAttribute : AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
filterContext.Result = new JsonResult
{
Data = new
{
// put whatever data you want which will be sent
// to the client
message = "sorry, but you were logged out"
},
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
else
{
base.HandleUnauthorizedRequest(filterContext);
}
}
}
在阿賈克斯你可以這樣做:
$.get('@Url.Action("SomeAction")', function (result) {
if (result.message) {
alert(result.message);
window.location.reload();
} else {
// do whatever you were doing before with the results
}
});
+0
代碼示例中的第一行缺少左方括號,應該是: [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] – ChrisP 2013-06-06 16:20:47
相關問題
- 1. Codeigniter中的會話超時重定向
- 2. 會話超時重定向URL
- 3. MVC 4會話結束時重定向
- 4. 會話超時重定向在mvc中的面板2
- 5. mvc會話超時
- 6. 會話超時和登錄時重定向
- 7. 的Java EE會話/會話/視圖超時重定向
- 8. 會話超時絕不會在asp.net mvc
- 9. asp.net mvc會話超時
- 10. ASP.NET MVC 4會話超時
- 11. 在ASP.NET MVC會話超時
- 12. MVC 5會話超時
- 13. ASP.NET MVC會話超時和TempData
- 14. 如何在會話超時後重定向到指定頁面
- 15. ASP.NET MVC會話超時不起作用
- 16. 如何在超時時重定向Ajax Method會話
- 17. 在會話超時時重定向tomcat 7
- 18. JSF中的會話超時時出現Iframe重定向問題
- 19. 在MVC中使用API控制器會話超時後重定向頁面
- 20. 會話超時警告對話框MVC
- 21. 如何在會話超時和重定向時提醒匿名用戶
- 22. JSP在會話過期/超時後自動重定向
- 23. 自動重定向到會話超時後登錄
- 24. OnActionExecuting導致無限重定向處理會話超時
- 25. 如何在會話超時後重定向用戶
- 26. asp.net會話超時重定向到主頁
- 27. Laravel 5.4會話超時重定向路徑
- 28. Rails會話超時並重定向到登錄頁面
- 29. 重定向會話超時(Grails的,Spring Security的核心,Tomcat)的
- 30. 如何在會話超時後處理AJAX中的重定向?
你能向我們提供您獲得當會話超時AJAX應對? – 2012-07-19 05:45:34