如何在Angular$http中添加多个同名查询参数

How to add multiple same-name query parameters in Angular $http

全部

我想要做的是添加多个具有相同名称的参数来请求 URL 和 AngularJS $http,使 URL 像 http://localhost:8080/?value=1&value=2 一样发送... ..

这个post也描述了类似的情况:

有人可以在 AngularJS $http 中提供帮助吗?

谢谢

您需要使用这样的数组:

 var params = {};
 params.someParmName = ['value1', 'value2'];

这将发送具有相同查询字符串键的值 1 和值 2 'someParmName'。

这是一个 GET 请求示例:

 var parameters = {};
 parameters.someParmName = ['value1', 'value2'];

 $http({
    url: 'api_url', 
    method: "GET",
    params: parameters
});

您调用的参数也使用URLSearchParams。例如:

let params = new URLSearchParams();

params.append('someParmName', 'value1');
params.append('someParmName', 'value2');

// the following statement will form this url: ?someParmName=value1&someParmName=value2
http.get(api_url, {search: params});

或者

let params = new URLSearchParams();

params.set('someParmName', ['value1', 'value2'];);

// the following statement will form this url: ?someParmName=value1,value2
http.get(api_url, {search: params});