在Angular HttpClient中传递数组的查询参数

4

如何使用Angular HttpClient创建带有查询参数数组的URL

输入 ids: string[] = ["1","2","3"]

输出 例如:https://localhost:8080/cinemas?ids=1&ids=2&ids=3

2个回答

2
只需使用appendAll(),并将{"param": Array}传递进去。
let queryParams = new HttpParams();

queryParams = queryParams.appendAll({'ids': ids});

return this.http.get(backendUrl + '/cinemas?' + queryParams.toString());

你的答案可以通过添加附加支持信息来改进。请[编辑]以添加更多细节,例如引用或文档,以便其他人可以确认您的答案正确。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

0
import { HttpClient, HttpParams } from '@angular/common/http';
  
  constructor(private httpClient: HttpClient) {}
  url = https://localhost:8080/cinemas

  public getCinemas(ids: string[]) {
    let queryParams = new HttpParams();
    for (let k = 0; k < ids.length; k++) {
      queryParams = queryParams.append('ids', ids[k]);
    }
    return this.httpClient.get(this.url + `?${queryParams.toString()}`);
  }

我猜上面只是一个打字错误,你正在使用正确的变量,即ids[k]而不是relationIds[k] - Aldin Bradaric

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接