我从 jQuery AJAX 调用向 MVC 4 控制器发送登录信息:
$.post(url, data, function (response) {
if (response=='InvalidLogin') {
//show invalid login
}
else if (response == 'Error') {
//show error
}
else {
//redirecting to main page from here for the time being.
window.location.replace("http://localhost:1378/Dashboard/Index");
}
});
如果登录成功,我想根据用户类型将用户从服务器端重定向到适当的页面。如果登录失败,则会向用户发送一个字符串:
[HttpPost]
public ActionResult Index(LoginModel loginData)
{
if (login fails)
{
return Json("InvalidLogin", JsonRequestBehavior.AllowGet);
}
else
{
// I want to redirect to another controller, view, or action depending
// on user type.
}
}
但是也有问题:
如果此方法返回“ActionResult”,那么我会收到错误消息
not all code paths return a value
。如果我使用'void',我不能返回任何东西。
即使我使用没有返回的“void”,由于 jQuery AJAX 调用的异步性质,我也无法重定向到其他控制器或视图。
有什么技术可以处理这种情况吗?