Angular 将多个字符串查询追加到httpclientmodule中

Angular 将多个字符串查询追加到httpclientmodule中,angular,http,Angular,Http,为什么这不起作用?我的参数在请求时发送为空,我需要遍历日期列表并将其作为查询参数发送 public ObterSimulacao<T>(inscricao:string,listaDatas: string[]){ let params = new HttpParams(); listaDatas.forEach(data => { params .append('listDate',data) }); retur

为什么这不起作用?我的参数在请求时发送为空,我需要遍历日期列表并将其作为查询参数发送

public ObterSimulacao<T>(inscricao:string,listaDatas: string[]){
    let params = new HttpParams();
    listaDatas.forEach(data => {
        params
        .append('listDate',data)
    });
    return this.http.get<T>(this._obterSimulacaoUrl + inscricao ,{params});
}
public-obertismulacao(inscricao:string,listaDatas:string[]){
设params=newhttpparams();
listaDatas.forEach(数据=>{
params
.append('listDate',数据)
});
返回this.http.get(this._obterSimulacaoUrl+inscricao,{params});
}

您使用的
追加
方法不正确,请检查以下内容:

public ObterSimulacao<T>(inscricao:string,listaDatas: string[]){
    let params = new HttpParams();
    listaDatas.forEach(data => {
        params = params.append('listDate', data)
    });
    return this.http.get<T>(this._obterSimulacaoUrl + inscricao ,{params});
}
public-obertismulacao(inscricao:string,listaDatas:string[]){
设params=newhttpparams();
listaDatas.forEach(数据=>{
params=params.append('listDate',data)
});
返回this.http.get(this._obterSimulacaoUrl+inscricao,{params});
}

我认为
HttpParams
用于请求主体而不是查询字符串参数。另一件事:这段listaDatas.forEach(data=>{params.append('listDate',data)})没有多大意义,因为在每次迭代中都会覆盖'listDate'键。每次迭代都应该使用不同的键/参数。我认为这不对,我在dotnet API的foreach(listDate中的var date){builder.AddQueryString(“listDate”,date.ToString());}这是请求url localhost:50441/api/v1/Movimento/Simulacao/10427900001801?listDate=2019-01-012020-02-02应该是什么?listDate=2019-01-01&listDate=2020-02-02@DanielBezerraDeMenezes哦,好的。更新了答案。它应该会起作用。哈哈,我在我的例子中尝试了params=params,不知道为什么我需要这样做才能起作用。谢谢你抽出时间