我用来发出get请求的代码如下:
options: any;
getWithParameters(url: string, parameters: any): Observable<any> {
this.options.params = this.getParameters(parameters);
console.log(this.options);
this.loaderService.show();
return this.http
.get(url, this.options)
.map(result => {
return this.extractData(result);
})
.catch(ex => {
return this.errorService.handleError(ex, this.errorService);
}).finally(() => {
this.options.params = {};
this.loaderService.hide();
});
}
getParameters(params: any): HttpParams {
let parameters = new HttpParams();
for (const key in params) {
if (params.hasOwnProperty(key)) {
const val = params[key];
parameters = parameters.append(key, val);
}
}
return parameters;
}
parameters
是一个json。 parameters
仅包含简单变量时:
它工作,请求是
http://localhost:53035/Api/OfferApi/GetDraftList&IdApplication=null&CommercialName=&DraftNumber=
但是parameters
包含如下数组:
它不起作用,请求是
http://localhost:53035/Api/OfferApi/GetDraftList&IdApplication=10,9&CommercialName=&DraftNumber=
请求应以这种方式工作
http://localhost:53035/Api/OfferApi/GetDraftList&IdApplication[]=10&IdApplication[]=9&CommercialName=&DraftNumber=
有没有人有想法正确打印请求? 感谢
答案 0 :(得分:-1)
首先你可以添加一个数组[]
getWithParameters(url: string, parameters: any[]): Observable<any> {}
第二件事是你可以创建一个模型对象。
getWithParameters(url: string, parameters: any[]): Observable<ModelObject> {}
感谢。