私の 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
あなたの助けを楽しみにしています!
可能な解決策で更新