2017-12-11 18 views
0

외부 API URL이 http://something.com/name/age/gender인데, 여기서 "name", "age"및 "gender"는 매개 변수입니다.

Angular 1 App에서 해당 데이터를 검색해야하므로 .service를 만들었습니다. 서비스를 얻으려면 $ http를 사용해야합니다. 그러나 ... 이러한 서비스는 컨트롤러에서 호출되어야하며 매개 변수를 받아야합니다.

어떻게 설정하고 어떻게 컨트롤러에서 호출 할 수 있습니까?

export const SearchPersonService = ($http) => { 

    'ngInject'; 
    return $http.get('someUrl'); 



}; 

컨트롤러 아래 코드를 가지고 :

나는 서비스에있는 유일한 것은 이것이다

SearchPersonService.success(
    data => this.persons = data 


).error(
    error => alert('err') 
); 
+0

여기에 코드를 게시 할 수 있으면 더 좋을 것입니다. 뭐든 해봤 어. –

+0

@AkashAgrawal 여기 몇 가지 코드가 있습니다. 그다지 많지 않습니다 : 'export const SearchPersonService = ($ http) => { 'ngInject'; $를 돌려 http.get (''someurl "); };?' – Captain

+0

당신이 컨트롤러에서 문자열을 편집 할 수 없습니다 ->'"http://something.com/"+$scope.name+ "/"+ $ scope.age + "/"+ $ scope.gender' –

답변

0

그것을 해결! 해야 할 일은 $ http 개체를 필요한 매개 변수를 사용하는 함수로 래핑하는 것입니다.

export const SearchPersonService = ($http) => { 

    'ngInject'; 

    return function(params){ 
     return $http.get('http://someurl/'+ 
      params.name+'/'+params.age+'/'+ 
      params.gender+'/'+params.status 
     ); 
    } 
};