Ответ 1
Должно быть что-то прослушивание этого изменения пути, например, $routeProvider
. Это тот случай?
Если вам нужна полная перезагрузка страницы на этот другой (серверный) маршрут, вы можете попробовать $window.location.href
.
После поиска и не придумывания решения я отправляю этот фрагмент кода для некоторой помощи.
$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? Код удаляется.
Должно быть что-то прослушивание этого изменения пути, например, $routeProvider
. Это тот случай?
Если вам нужна полная перезагрузка страницы на этот другой (серверный) маршрут, вы можете попробовать $window.location.href
.
Не забудьте добавить зависимость к контроллеру:
|-- inject!
angular.module('myApp.controllers', []). v
controller('AddressController', function ($scope, $location, $http) {
$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. как это Пример: app.controller('yourController', функция ($ scope, $location, $http и т.д.) то на вашем $http должно быть так.
$http({.... }).success(function(response) { $location.path('/your path')})
но убедитесь, что вы должны добавить дополнительное место в свою конфигурацию $routeProvider. что-то вроде:
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/yournewlocation', {
templateUrl: 'yourTemplate/yourpage'
})
}
])
вот оно. вы знаете, о чем я говорю.
.controller('regCtrl', ['$scope','$http', function($scope,$http) {
$scope.submit = function() {
alert("vf");
$http.post("http://localhost:3000/insert",function(response,$location){
if(response!= null){
$location.path("/login");
}
else{
$state.go('/register');
}
});
}
}]);
мой код похож на это, я получаю только ответ json после страницы регистрации, чтобы он не переходил на другую страницу