如何在ANgular7的HttpUrl中传递字典对象?

时间:2019-01-26 14:59:58

标签: angular7

首先,如果我的问题很愚蠢,我想为此感到抱歉,我对此感到困惑,因为我在Angular中是新来的。

在提出问题之前,我想先介绍一下我的代码,

这就是我确切称为api的get函数,

  get(feepaid_report: FeepaidReport): Observable<FeepaidReport[]> {
    const options = this._utils.makeOptions(this._headers);
    return this._http.get(`${this._feepaidreportUrl}`, options).pipe(
      map((res: Response) => res.json()),
      tap(
        data => this.afterGetRequest(),
        error => { console.log(error); }
      ));
  }

在此代码中_feepaidreportUrl是我的baseUrl,如下所示:

private _feepaidreportUrl = `${new Config().api}/report/feepaid_report/`;

FeedpaidReport类型的我的论据feepaid_report就是这样的字典数据,

FeepaidReport: {paid_date: "2019-01-03", classes: "class12"}

我想在网址中添加此字典(即,收费报告数据),以便我可以像这样将后端传递给网址:

baseurl/?paid_date=2019-01-03&classes=class12

希望你会理解我的问题

1 个答案:

答案 0 :(得分:0)

执行以下操作可以解决上述问题:

get(feepaid_report: FeepaidReport): Observable<FeepaidReport[]> {
  var url = `${this._feepaidreportUrl}/?`

   for(var key in feepaid_report){

      var val = feepaid_report[key];
       if (typeof(val) !=='undefined'){
        url = url + key + '=' + val + '&'
      }

    }



  const options = this._utils.makeOptions(this._headers);
    return this._http.get(url, options).pipe(
      map((res: Response) => res.json()),
      tap(
        data => this.afterGetRequest(),
        error => { console.log(error); }
      ));
  }
相关问题