[英]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.