簡體   English   中英

Angular 2 http.get with params

[英]Angular 2 http.get with params

我想在GET請求中發送查詢參數。 我的班級看起來像這樣:

 @Injectable()
 export class Loader implements TranslateLoader{
  constructor(private http: Http){
   }
   getTranslation(lang: string): Observable<any>
   {
     return this.http.get(routes.Localization.Get) ;// in that place I need to pass params
   }
 }

我怎樣才能做到這一點?

您可以利用URLSearchParams類:

getTranslation(lang: string): Observable<any> {
  let params = new URLSearchParams();
  params.set('param1', 'value1');

  return this.http.get(routes.Localization.Get, { search: params });
}

這將產生這樣的URL(參數在查詢字符串中添加): http://...?param1=value1

請參閱此類的文檔:

它現在提供對編碼/解碼參數的支持。

這很簡單 - 您可以定義URLSearchParams並在http.get方法的第二個參數中傳遞它們:

import { URLSearchParams } from '@angular/http'

let params: URLSearchParams = new URLSearchParams();
params.set('param1', 'someValue');
params.set('param2', 'someValue');

return this.http.get(routes.Localization.Get, { search: params });

當像http://stackoverflow.com?param1=value這樣的網址時

您可以通過以下代碼獲取param1:

import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute, Params } from '@angular/router';

@Component({
    selector: '',
    templateUrl: './abc.html',
    styleUrls: ['./abc.less']
})
export class AbcComponent implements OnInit {
    constructor(private route: ActivatedRoute) { }

    ngOnInit() {
        // get param
        let param1 = this.route.snapshot.queryParams["param1"];
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM