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

Angularjs 如何在$http中添加多个同名查询参数,angularjs,http,url,Angularjs,Http,Url,全部 我想做的是使用AngularJS$http将多个同名参数添加到请求URL中,使URL像….一样发送 这篇文章还描述了类似的情况: 有人能帮我用AngularJS$http吗 谢谢您需要使用如下数组: var params = {}; params.someParmName = ['value1', 'value2']; 这将使用相同的查询字符串键“someParmName”发送value1和value2 下面是一个GET请求示例: var parameters = {}; pa

全部

我想做的是使用AngularJS$http将多个同名参数添加到请求URL中,使URL像….一样发送

这篇文章还描述了类似的情况:

有人能帮我用AngularJS$http吗


谢谢

您需要使用如下数组:

 var params = {};
 params.someParmName = ['value1', 'value2'];
这将使用相同的查询字符串键“someParmName”发送value1和value2

下面是一个GET请求示例:

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

 $http({
    url: 'api_url', 
    method: "GET",
    params: parameters
});
您还可以为参数调用use。例如:

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});


你试过传递数组吗?谢谢,我现在就尝试一下。我刚刚修复了一个代码错误,仅供参考。如果您正在复制,请查看我的答案。仅供参考:$http返回一个承诺。根据您的答案,它将是someParmName=value1&someParmName=value2,但是否可以更改为像someParmName=value1、value2这样的查询?
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});