anglejsからの投稿要求後に別のビューSecondView()
にリダイレクトすることは可能ですか?私は角度が$location.path
のようなsomethigを持っていることを知っています。しかし、私はコントローラのいくつかの条件を確認したい。AngularJSコントローラへの投稿と別のページへのリダイレクト
はJavaScript
var MyApp = angular.module("MyApp", []);
MyApp.controller("AppController", function ($scope,$http) {
$scope.onClick = function() {
$http({
method: 'POST',
url: 'Home/CheckData/',
data: {name: 'Jhon'},
});
};
});
コントローラー:
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult CheckData(string name)
{
if (name=="Jhon")
{
return RedirectToAction("SecondView");}
else{
return View();
}
}
public ActionResult SecondView()
{
return View();
}
}
Index.cshtmlあなたの条件をチェックして、そこに必要とされている何をすべきか
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<script src="~/Scripts/angular.js"></script>
<script src="~/Scripts/MyScript.js"></script>
<div ng-app="MyApp" ng-controller="AppController">
<input ng-click="onClick()" type="button" value="Redirect" />
</div>
実際には、サーバーは常にクライアントに応答する必要があります。その応答を意味のあるもの(たとえば、リダイレクトURL)を解析しないと、なぜ@charlietflの答えがチェックされません。 –
私は両方の答えが同じポイントになっていることを確信しています。サーバが何らかの種類のペイロードで応答し、それに基づいてリダイレクトしたり、何か他のことをします。 (明確にするために、どのコントローラがリダイレクトを処理すべきかを言及するときにAngularという単語を追加しました.Web APIとAngularの場合はあいまいになりがちです) – napo