[AngularJS] envoyer l'ID de client dans une requête HTTP

Par hana005, il y a 11 ans


Bonjour,
Je dois envoyer l'ID d'un client vers la page modify.html à partir de la page clients.html quand je clique sur le lien Modify, voilà ce que j'ai fais:
clients.html:

<tbody> <tr ng-repeat="post in posts> <td align="center">{{post.id}}</td> <td align="center">{{post.nom}}</td> <td align="center"><a ui-sref="app.modifier({customerID:post.id})">Modify</a></td> </tr> </tbody>

Modify.html:

<div class="form-group"> <label class="col-sm-1 control-label">Nom:</label> <div class="col-sm-1"> <input type="text" class="form-control" ng-model="usernom"> </div> </div>

et le controller:

.controller('editController', ['$scope', '$http' ,function($scope,$http) { $scope.errors = []; $scope.msgs = []; $scope.usershow = function() { $scope.errors.splice(0, $scope.errors.length); $scope.msgs.splice(0, $scope.msgs.length); $http({method: 'GET', url: 'MyURLid='+$stateParams.customerID+'&nom=test}).success(function(data, status, headers, config){ if (data.msg != '') { $scope.msgs.push(data.msg); } else { $scope.errors.push(data.error); } }).error(function(data, status) { $scope.errors.push(status); }); }}])

router.js:

.state('app.modifier', { url: 'client/modifier/:customerID', templateUrl: 'tpl/modify.html', controller: 'editController' })

Je peux obtenir l'ID sélectionnée de la table dans l'URL du navigateur mais je ne peux pas l'envoyer à la requête HTTP dans le controlleur
j'ai pensé à utiliser $stateParams mais je n'ai pas compris comment je peux l'injecter dans le code
merci pour l'aide

4 réponses

hana005, il y a 11 ans

pas de réponse :(

Maenhyr, il y a 11 ans

Bonjour,

il serait agréable de corriger la disposition du code, c'est plutôt illisible la.

hana005, il y a 11 ans

désolé prbaron je vais le corriger

Maenhyr, il y a 11 ans

C'est bien avec $stateParams.

.controller('editController', ['$scope', '$http', '$stateParams' ,function($scope,$http, $stateParams) { var customerId = $stateParams.customerID; }}])