你好,我实际上是新的MVC
,我坚持一个问题。我到处尝试和搜索,但问题仍未解决。
我使用$http
发送到MVC action
和view
发送模型。数据成功发送通过动作和视图,但url不会重定向到目标视图也是在我的情况下,我想发送一个模型与重定向。(我可以执行重定向与windows.location.href="success"
后$http.success
,但我不能发送模型数据这样做)
这是我的样品试。(我在这里提供的用户名是“random
”,密码为“randPassword
”和我发送一个简单的数据(名称)成功视图。
JS
var config = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
}
}
var data = $.param({
UserName: $scope.user.username,
Password: $scope.user.password,
});
$http.post('Login', data, config).success(function (data, status, headers, config) {
}).then(function() {
console.log(data);
});
C#动作
[HttpPost]
[AllowAnonymous]
public ActionResult Login(LoginModel usr)
{
if (usr.UserName=="random"&&usr.Password=="randPassword")
{
Session["Username"] = usr.UserName.ToString();
FormsAuthentication.SetAuthCookie(user.UserName, false);
return RedirectToAction("Success","Account",new {new {Name=usr.UserName}});
}
else
{
ModelState.AddModelError("", "UserName or Password is Wrong");
return View();
}
}
我的成功观点很简单,只有成功。调试将继续在断点上查看,但不进行重定向。成功后,我可以用js重定向,但当我想发送数据并呈现视图时,情况变得复杂。谢谢 !!
当您发送异步请求返回值并返回成功$ http调用,并且不会重定向到操作或返回任何视图。要重定向或在视图上显示数据,您需要在成功调用$ http时编写逻辑。 –
你在说window.location.href。这将重定向到我的观点,但事情变得复杂,当我想重定向到一些模型数据的视图。 – user5630511
是的,请检查你在http成功调用中得到的回应。我认为你应该从操作返回json并使用它来重定向或更新视图。 –