在我的 MVC3 项目中,我有一个带有 [Authorize] 属性的控制器。我有一个没有 ajax 的表单提交,如果他/她没有登录,它会将用户(如预期)重定向到登录屏幕。
但是,现在我有一个使用 jquery ajax 提交的表单,我该如何做同样的事情?将用户重定向到登录屏幕,如果他/她没有被授权?成功登录后,用户应该被重定向到初始操作。
控制器
[Authorize]
[ValidateInput(false)]
public JsonResult SubmitChatMessage(string message)
{
if (!string.IsNullOrEmpty(message))
{
// Do stuff
}
// Return all chat messages
return GetChatMessages();
}
客户端 JQUERY
$(document).ready(function () {
$("form[action$='SubmitChatMessage']").submit(function (event) {
$.ajax({
url: $(this).attr("action"),
type: "post",
dataType: "json",
data: $(this).serialize(),
success: function (response) {
// do stuff
}
});
return false;
});
});
我可以从 firebug 控制台窗口看到,服务器返回:
GET http://domain/Account/LogOn?ReturnUrl=%2fProductDetails%2fSubmitChatMessage
期待您的帮助!
更新了可能的解决方案