Je souhaite envoyer des paramètres de requête dans une demande GET. Ma classe ressemble à ceci:
@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
}
}
Comment puis-je faire ceci?
Vous pouvez utiliser la classe URLSearchParams
pour cela:
getTranslation(lang: string): Observable<any> {
let params = new URLSearchParams();
params.set('param1', 'value1');
return this.http.get(routes.Localization.Get, { search: params });
}
Cela se traduira par une URL comme celle-ci (les paramètres sont ajoutés dans la chaîne de requête): http://...?param1=value1
.
Voir la documentation de cette classe:
Il prend désormais en charge les fournisseurs pour les paramètres d'encodage/décodage.
C'est assez simple - vous pouvez définir votre URLSearchParams
et les passer dans le deuxième paramètre du http.get
méthode:
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 });