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


Maenhyr
Réponse acceptée

C'est bien avec $stateParams.

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

pas de réponse :(

Bonjour,

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

hana005
Auteur

désolé prbaron je vais le corriger