J'utilise le service $ http pour appeler le serveur qui renvoie json data.howerver chaque fois que je demande les données json, le service $ http s'exécute plusieurs fois. Ne sachez pas ce qui s'est mal passé. aide de plz. merci d'avance. ci-dessous est mon code.
var app = angular.module('Demo',[]);
app.config(function ($routeProvider) {
$routeProvider
.when('/users',
{
templateUrl: "users.html",
controller: "users"
}
).when('/users/new',
{
templateUrl: 'new.html',
controller : 'newuser'
}).when('/users/:id/edit',
{
templateUrl: 'edit.html',
controller: 'edit'
})
});
app.controller('users',function($scope,$http){
$scope.list_of_users = [];
$http.get('http://testing.com:3000 /users.json').success(function(data,status,header,config){
angular.copy(data,$scope.list_of_users)
})
});
app.controller('newuser',function($scope,$http,$location){
$scope.done = function(){
var data = {user: {name: $scope.name}};
$http.post("http://testing.com:3000/users.json",data).success(function(data,status,header,config){
$location.path('/users');
}).error(function(data,stauts,header,confi){
});
};
});
app.controller('edit',function($scope,$http,$routeParams,$location){
$scope.name="";
$http.get("http://testing.com/users/"+$routeParams.id +".json").success(function(data,status,header,config){
console.log(data);
$scope.name = data['user']['name'];
});
$scope.update = function(){
var data = {user: {name: $scope.name}};
$http.put('http://localhost:3000/users/$routeParams.id',data).success(function(data,status,header,config){
$location.path("/users");
}).error(function(data,status,header,config){
});
}
});
s'il vous plaît envoyer Fiddle/Plunker + HTML, merci –
Comment savez-vous qu'il s'exécute plusieurs fois? Aussi, plutôt que d'avoir un contrôleur séparé pour l'opération de portée, pourquoi ne pas en avoir un seul avec plusieurs fonctions? – ksimons
Votre contrôleur 'newuser' a une instruction' $ location.path', qui changerait de route et appellerait le contrôleur 'users' qui a un autre appel http. – Chandermani