2015-04-14 2 views
1

Je veux utiliser http $ pour envoyer la demande ajax, je vous écris ce code mais j'obtiens l'erreur

Error: $http is not defined 

-je mettre ce code dans l'exécution

app.run(['$rootScope','$location','$timeout','$http', function ($rootScope,$location,$timeout,$http) { 
    $rootScope.getMember = function(val){ 
    var persons = $rootScope.selectPerson; 
    if(persons.length == 0) 
     persons = null; 
    return $http({ 
     url: 'projectTask/GetMemberForFreeTask', 
     method: "POST", 
     data: $.param({'searchStr':val,'selectedPerson': persons}), 
     headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
    }) 
    .then(function(response) { 
     for(var i = 0; i<response.data.length; i++){ 
      response.data[i]['first_name'] = response.data[i]['first_name']+' '+ response.data[i]['last_name'] 
     } 
     $rootScope.states = response.data; 
      return response.data 
     } 
    ); 
} 

}])

+0

Je ne comprends pas ce que vous vouliez exactement à do..please élaborée plus –

+0

@pankajparkar Je veux envoyer la demande ajax en run –

+0

pourquoi vous le voulez dans le bloc d'exécution –

Répondre

2

Vous avez pour définir la variable $http dans votre contrôleur.

app.controller('TestController', function TestController($scope, $http) { 
} 

quelque chose comme ça. Dans la méthode run, essayez quelque chose comme ça.

angular.module('yourApp').run(['$rootScope', '$http', function ($rootScope, $http) { 
    // do stuff here 
}]); 
+0

je veux l'utiliser dans l'exécution et envoyer une requête ajax dans la course pas dans un contrôleur –

+0

J'ai mis à jour mon poste. – Stony

+0

j'écris exactement comme ceci mais cela ne fonctionne pas pour moi –