我正在嘗試執行異步登錄。當用戶通過身份驗證時,我想重定向到用戶最初請求的頁面。問題是,操作方法返回的ActionResult的重定向類型和jQuery的似乎不知道該怎麼辦..RedirectResult不能使用jQuery.post()
我使用以下的jQuery:
$("form").submit(function(event)
{
$.post($(this).attr("action"), $(this).serialize(), function(result)
{
}, "html"); // is this the right return type?
return false;
});
與此代碼在服務器上處理登錄:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult LogOn(WAPConfigUser user)
{
if (ValidateLogOn(user.UserName, user.Password))
{
string redirect = "";
if (Request.QueryString["ReturnUrl"] != null)
{
redirect = Request.QueryString["ReturnUrl"];
return Redirect(redirect);
}
else
{
return RedirectToRoute("Default");
}
}
}
有人建議我怎麼能得到這個工作?
感謝
戴夫
它實際上適用於你可以建議一個更好的方式讓我去做這件事嗎?我做這件事的方式有什麼問題? – DaveDev 2010-02-26 22:21:05
@Dave,如果您打算在最後重定向用戶,則實際上不需要使用AJAX。 – 2010-02-26 22:38:27
不一定,但我不想做一個頁面刷新,如果用戶沒有成功登錄。如果這是一個錯誤的登錄嘗試,我只是想異步返回一條錯誤消息 – DaveDev 2010-03-01 11:55:34