13

検索して解決策を思いついた後、このコードスニペットを投稿して助けを求めています。

$scope.createAddress = function () {
    $http({
        method: 'POST',
        url: '/addressBook/api/Person',
        data: $scope.person,
        headers: {
            'Content-Type': 'application/json; charset=utf-8'
        }
    }).success(function (data) {
        $location.path('/addressBook');
    });
}

投稿に成功したら、別のページにリダイレクトしたいと思います。$location.path はこれを達成していません。私は $scope.apply() を試してみましたが、他の人はそれで成功しました。$location が何に使用されているかを理解していないか、何か不足していますか? コードがヒットしています。

4

6 に答える 6

10

のように、そのパスの変更をリッスンするものがあるはず$routeProviderです。そうですか?

他の (サーバー側) ルートへのフル ページ リロードが必要な場合は、 を試してください$window.location.href

于 2013-09-03T19:20:57.613 に答える
1

コントローラーに $location を追加します。この例のように: app.controller('yourController', function($scope, $location, $http, etc...) の場合、$http は次のようになります。

$http({.... }).success(function(response) { $location.path('/your path')})

ただし、$routeProvider 構成に追加の場所を追加する必要があることを確認してください。何かのようなもの:

app.config(['$routeProvider', 
   function($routeProvider) { 
   $routeProvider.
     when('/yournewlocation', {
      templateUrl: 'yourTemplate/yourpage'
   })
  }
])

それでおしまい。あなたは私が話していることをよく知っています。

于 2016-06-21T13:45:03.160 に答える