如果任何传递参数未定义,我该如何解决 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§ion=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); }
));
}
我的带参数的url是这样的: http://192.168.1.87:8002/api/report/absent_report/&from+date=2019-01-23&to_date=2019-01-23&class=undefined§ion=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); }
));
}