我对MVC有点新鲜。我想要的是在成功登录后将用户重定向到仪表板/索引控制器操作。这样做的好地方或技术是什么?在ajax成功事件中,还是登录控制器?
登录表单 -
<form action="/Home/Login" id="loginForm" >
// other markups
</form>
此表单通过jquery ajax -
进行汇总 <script type="text/javascript">
$(document).ready(function () {
$('#loginForm').submit(function (event) {
event.preventDefault();
var data = $(this).serialize();
var url = $(this).attr('action');
$.post(url, data, function (response) {
//redirect from here?
});
});
});
</script>
JQuery ajax正在调用控制器方法
[HttpPost]
public ActionResult Login(string username, string password)
{
//Login successfull.
//Redirect from here ??
}
答案 0 :(得分:1)
您无法重定向表单C#代码,因为这称为异步。成功登录后,您必须从JQuery重定向:
window.location.href = "http://site/controller/action";
答案 1 :(得分:1)
如果您使用ajax提交,您的服务器控制器将需要返回您将在$.post
回调中解析的状态响应,以确定是否重定向,然后使用window.location
javascript obkect做重定向。
答案 2 :(得分:0)
我觉得您的身份验证/授权在控制器上运行,一旦代码执行成功或失败,您就想要移动到下一个视图/控制器。如果这是预期的功能,我会建议您 RedirectToAction 方法并导航到所需的页面
找到更多RedirectToAction文档