如何将参数传递给Angular 1中的$ http请求服务?

时间:2017-12-11 12:01:54

标签: angularjs angular-services angular-http angular1.6

我们说我有一个像http://something.com/name/age/gender这样的外国API网址,其中"名称","年龄"和"性别"是参数。

由于我需要从Angular 1应用程序中检索该数据,因此我创建了一个.service,它应该使用$ http来获取它。但是......需要从控制器调用这样的服务,并且需要接收参数。

如何设置所有这些以及如何从控制器中调用它?

我在服务中唯一拥有的是:

export const SearchPersonService = ($http) => {

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



};

并且控制器的代码如下:

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


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

1 个答案:

答案 0 :(得分:0)

解决了!我唯一要做的就是将$ http对象包装到一个带有必要参数的函数中:

export const SearchPersonService = ($http) => {

    'ngInject';

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