Javascript 尝试将多个ID传递到API查询中
我在Angular中创建的一个函数遇到了麻烦,它从API中提取数据。我想扩展一个当前部件以接受多个ID,但在尝试获取多个ID以放入API查询时遇到了问题Javascript 尝试将多个ID传递到API查询中,javascript,angular,typescript,api,Javascript,Angular,Typescript,Api,我在Angular中创建的一个函数遇到了麻烦,它从API中提取数据。我想扩展一个当前部件以接受多个ID,但在尝试获取多个ID以放入API查询时遇到了问题 if (this.selectedCustomer !== null) { filterString += `&customer_id=[${this.selectedCustomer.id}]`; } 这将返回&customer\u id=[1],但我想要实现的是:&customer\u id=[1,2,3] 下面是我编写的替换
if (this.selectedCustomer !== null) {
filterString += `&customer_id=[${this.selectedCustomer.id}]`;
}
这将返回&customer\u id=[1]
,但我想要实现的是:&customer\u id=[1,2,3]
下面是我编写的替换代码,我试图在数组中列出ID并通过查询传递它们,但循环不起作用,ID显示为“未定义”
if (this.selectedCustomer !== null) {
const customerIds = this.selectedCustomer.id.customerIds;
for (let i = 0; i < customerIds; i++) {
customerIds[i].selected = this.selectedCustomers.indexOf(customerIds[i].value) > -1;
}
this.selectedCustomer.id = customerIds;
filterString += `&customer_id=[${customerIds + ','}]`;
}
if(this.selectedCustomer!==null){
const customerIds=this.selectedCustomer.id.customerIds;
for(设i=0;i-1;
}
this.selectedCustomer.id=客户id;
filterString+=`&customer_id=[${customerIds+','}]`;
}
如果您能提供任何帮助或指出我做错了什么,我们将不胜感激!:) 您可以这样做:
const customerIds = this.selectedCustomer.id.customerIds.map(c => c.value); // Gives you [1,2,3]
filterString += "&customer_id=" + JSON.stringify(customerIds); // "&customer_id=[1,2,3]"
这个问题我不清楚。您正在构建对API的查询吗?或者您正在处理从API接收的数据?哪种API,您自己的还是第三方的?什么是响应格式(JSON等?)您可以发布一个要处理的数据示例吗?它是一个已经构建的API。目前,我可以使用过滤器“&customer\u id=[1]”,但我希望传入来自“this.selectedCustomer.id”的所有id,而不仅仅是一个。当我尝试得到以下错误时,结果应该是“&customer\u id=[1,2,3]”:
无法读取未定义的属性“map”
啊,那么,我缺少信息了。你是使用this.selectedCustomer.id.customerIds
的人。在你的代码中,我不知道它的价值和来源。这只是我整理的代码,看看它是否能得到我想要的结果。第一个代码是有效的,但我需要扩展它以引入一系列id,而不是一个IDY,我得到了,因此我的答案是获取&customer\u id=[1,2,3]
。这不是你需要的吗?