所有
我想要做的是添加多个具有相同名称的参数,以使用AngularJS $ http请求网址,使网址发送方式为http://localhost:8080/?value=1&value=2 .....
这篇文章也描述了类似的情况: Sending HTTP request with multiple parameters having same name
AngularJS $ http可以帮助吗?
由于
答案 0 :(得分:22)
你需要使用这样的数组:
var params = {};
params.someParmName = ['value1', 'value2'];
这将使用相同的查询字符串键' someParmName'发送value1和value2。
以下是GET请求示例:
var parameters = {};
parameters.someParmName = ['value1', 'value2'];
$http({
url: 'api_url',
method: "GET",
params: parameters
});
答案 1 :(得分:2)
您也可以使用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});