如何在get方法angular2中传递多个PRAM

如何在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 (

对于get方法,我使用以下代码

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