我有一个值表:
var array = [10,11,12,13,14,15]
我想将它作为参数集成到 http.get 中,但采用以下形式:
id=10&id=11&id=12&id=13&id=14&id=15
我想到了这样做:
var url = /myUrl;
var urlParam;
array.map(function(item) {
urlParam += '&id=' + item ;
return urlParam;
});
但最终我的网址如下所示:
ERRONEOUS
/myUrl&id=10&id=11&id=12&id=13&id=14&id=15
而不是:
/myUrl?id=10&id=11&id=12&id=13&id=14&id=15
对于
$http.get('/myUrl' + urlParam);
有更好的解决方案吗?
最佳答案
你真的应该使用URLSearchParams它用于处理 URL 的查询字符串。
var array = [10, 11, 12, 13, 14, 15];
const params = new URLSearchParams();
array.forEach(function(value) {
params.append('id', value);
});
console.log('/myUrl?' + params.toString());
由于 URL 查询参数的键保持不变,因此最好将其作为一键多个值发送。您可以使用 JSON.stringify()或者按原样发送数组,具体取决于您想要如何实现它,但作为 JSON 发送将是更好的设计。
var array = [10, 11, 12, 13, 14, 15];
const params = new URLSearchParams();
params.append('id', JSON.stringify(array));
console.log('/myUrl?' + params.toString());
关于javascript - 如何转换值表以将其集成到 http.get 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57042649/