Après avoir cherché et trouvé une solution, je publie cet extrait de code pour vous aider.
$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');
});
}
Après avoir posté avec succès, je voudrais rediriger vers une autre page. $ location.path n'accomplit pas cela. J'ai essayé $ scope.apply () car d'autres ont eu du succès avec ça. Est-ce que je manque quelque chose ou je ne comprends pas à quoi sert $ location? Le code est frappé.
Il devrait y avoir quelque chose d'écoute sur ce changement de chemin, comme un $routeProvider
. Est-ce le cas?
Si vous avez besoin d'un rechargement complet de la page sur cette autre route (côté serveur), essayez $window.location.href
.
N'oubliez pas d'injecter la dépendance au contrôleur:
|-- 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');
});
});
dans votre contrôleur, ajoutez le $ location. comme ceci Ex: app.controller ('yourController', fonction ($ scope, $ location, $ http, etc ...) puis sur votre $ http devrait être comme ça.
$http({.... }).success(function(response) { $location.path('/your path')})
mais assurez-vous que vous devez ajouter un emplacement supplémentaire à votre configuration $ routeProvider. quelque chose comme:
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/yournewlocation', {
templateUrl: 'yourTemplate/yourpage'
})
}
])
c'est tout. Eh bien, vous savez de quoi je parle.
.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');
}
});
}
}]);
mon code est comme ceci je reçois seulement la réponse de JSON après la page d'enregistrement sa ne navigue pas vers une autre page