【问题标题】:Angular - params are not appended to HttpParamsAngular - 参数未附加到 HttpParams
【发布时间】:2022-01-26 22:51:20
【问题描述】:

我已经构建了一个自定义的httpParams 函数,它接受一个键值对象,如下所示:

private httpParamsFactory(parameters: { [key: string]: string }): { params: HttpParams } {
  const params: HttpParams = new HttpParams();

  for (const [key, value] of Object.entries(parameters)) params.append(key, value)

  return { params };
}

我使用httpParamsFactory如下:

remove = (id: string): Observable<boolean> => this.http.delete<boolean>(`some/url`, this.httpParamsFactory({ id }))

由于某种原因,查询字符串没有添加到 URL,我尝试调试 httpParamsFactory,结果发现附加不起作用,因为 console.log(params.keys()) 返回了一个空数组。

【问题讨论】:

    标签: angular


    【解决方案1】:

    试试这个..

    方法一

    private httpParamsFactory(parameters: { [key: string]: string }): { params: HttpParams } {
      let params: HttpParams = new HttpParams();
    
      for (const [key, value] of Object.entries(parameters)) {
          params = params.append(key, value)
      }
    
      return { params };
    }
    

    方法二

    private httpParamsFactory(parameters: { [key: string]: string }): { params: HttpParams } {
      const params = new HttpParams({ fromObject: parameters});
    
      return { params };
    }
    

    参考

    Angular HttpParams

    【讨论】:

      猜你喜欢
      • 2019-02-14
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      • 2018-03-10
      • 2018-05-22
      • 2015-08-25
      相关资源
      最近更新 更多