你好,我實際上是新的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並使用它來重定向或更新視圖。 –