如果任何传递参数未定义,我该如何解决 url 上的问题?

how do i fixed the problem on url if anyone of passing parameter is undefined?

我的带参数的url是这样的: http://192.168.1.87:8002/api/report/absent_report/&from+date=2019-01-23&to_date=2019-01-23&class=undefined&section=undefined

我想要 url 参数如下: http://192.168.1.87:8002/api/report/absent_report/&from_date=2019-01-23&to_date=2019-01-23

所以我如何删除(或从 url 中跳过)url 中未传递值的参数,此处仅传递值为 defined.like 的参数类型上面 url 中的一些参数是这样的:&class=undefined§ion=undefined

但我的目标是在未定义的情况下将其删除。此外,我还在下方发布了代码图片

service.ts file

service.ts file

指导我回答

这是解决上述问题的解决方案

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); }
      ));
  }