如何在get方法angular2中传递多个PRAM
对于get方法,我使用以下代码如何在get方法angular2中传递多个PRAM,angular,http,typescript,Angular,Http,Typescript,对于get方法,我使用以下代码 this.required = {id:this.CategoriesId,fields:"courses.fields(largeIcon,instructor)", includes:"courses"}; this.courseraService.getEachCategory ("categories", this.required) .subscribe (
this.required = {id:this.CategoriesId,fields:"courses.fields(largeIcon,instructor)", includes:"courses"};
this.courseraService.getEachCategory ("categories", this.required)
.subscribe (
response => this.Courses = response,
error => this.errorMessage = <any>error,
() => console.log(this.Courses)
);
getEachCategory(model,data){
this.url = this.heroesUrl + model;
console.log(this.url);
console.log(data);
var params = data;
return this.http.get(this.url + params)
.map ( response => response.json())
.do( data => console.log ('All categories: ' + JSON.stringify(data) ) )
.catch(this.handleError);
}
您需要创建如下服务url:
let params: URLSearchParams = new URLSearchParams();
for (let key in data) {
params.set(key, data[key]);
}
let options = new RequestOptions({search: params});
return this.http.get(this.url, options)...
文件如下:
let params: URLSearchParams = new URLSearchParams();
for (let key in data) {
params.set(key, data[key]);
}
let options = new RequestOptions({search: params});
return this.http.get(this.url, options)...
import {Http, Response, RequestOptions, URLSearchParams} from "@angular/http";
getEachCategory(model,data){
this.url = this.heroesUrl + model;
var args = new RequestOptions();
args.search = new URLSearchParams();
// you can also repeate for loop for data array
args.search.append('key1', data[0].toString());
args.search.append('key2', data[1].toString());
args.search.append('key3', data[2].toString());
return this._http.get(this.url, args)
.map((res:Response) => res.json()).toPromise();
}