Http获取参数过滤器

时间:2019-02-14 09:12:53

标签: angular http parameters get

我尝试在带参数的Angular http.get中使用

我要获取(数据)

getAllVM(data) {
        console.log('data', data, 'params' ,(getParamString(data)));
        return this.http.get(environment.apiEndpoint + '/vendorMachine', {params: {filters: data}});
}

结果为consol.log =>

data {status: Array(0), groups: Array(1)}groups: [2]status: []__proto__: Object params ?status=&groups=2

在我发送的标题中:

?filters=%5Bobject%20Object%5D

我该如何更改才能更正?

2 个答案:

答案 0 :(得分:1)

Angular不提供过滤器作为选项。

https://angular.io/api/common/http/HttpClient

改为使用此:

this.http.get($(environment.apiEndpoint)/vendorMachine?filters=${data}

如果data是json,请使用JSON.stringfy(data)

答案 1 :(得分:1)

将以下获取参数添加到您的http获取请求中。

getAllVM(data) {

    const params = new HttpParams().set('filters', JSON.stringify(data));
    return this.http.get(environment.apiEndpoint + '/vendorMachine', { params: params });
}