我正在通過ajax調用調用一個名爲RedirectToHome的控制器的動作方法。在該動作方法中,我使用RedirectToAction來執行Spa控制器的Index方法。即使代碼成功執行,此重定向也不起作用。我認爲這是因爲RedirectToHome通過ajax調用來調用。這就是爲什麼我也嘗試調用索引方法,當ajax調用第一個請求成功時,也使用ajax調用。但即使通過第二次Ajax調用,我看到索引方法確實被調用,但視圖永遠不會呈現。控制檯中沒有錯誤。
$.ajax({
url: '@HttpContext.Current.Request.Url' + "Account/RedirectToHome",
data: { email: userEmail },
success: function (data) {
$.ajax({
url: '@HttpContext.Current.Request.Url' + "Spa/Index",
data: { isAuthenticated:true,email: userEmail },
success: function() {
}
});
}
});
public ActionResult RedirectToHome(string email)
{
if (ValidateDomain(email))
return RedirectToAction("Index", "Spa", new { isAuthenticated = true, email = email });
else
return RedirectToAction("ExternalLoginFailure");
}
如果你的意圖是重定向用戶請求,你爲什麼要做ajax? Ajax用於部分頁面更新。 – beautifulcoder
因爲我想通過javascript變量(userEmail在上面的代碼中),我不得不通過ajax調用它的動作方法,否則我不會使用它。 – user2585299
一個簡單的'ActionLink'與查詢字符串將工作。 – beautifulcoder