我正在通过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