如何将url参数(查询字符串)传递给Angular上的HTTP请求?

· 05月28日

我正在Angular上创建一个HTTP请求,但是我不知道如何向其添加url参数(查询字符串)。

this.http.get(StaticSettings.BASE_URL).subscribe(
  (response) => this.onGetForecastResult(response.json()),
  (error) => this.onGetForecastError(error.json()),
  () => this.onGetForecastComplete()
);

现在,我的StaticSettings.BASE_URL类似于没有查询字符串的url,例如:http ://atsomeplace.com/,但我希望它成为http://atsomeplace.com/?var1=val1&var2=val2

哪里var1和var2适合我的Http请求对象?我想像一个对象一样添加它们。

{
  query: {
    var1: val1,
    var2: val2
  }
}

然后只有Http模块完成将其解析为URL查询字符串的工作。

回答(1)
时间
J
JinJin
1 · 2020-05-28 14:57:02
import ...
declare var $:any;
...
getSomeEndPoint(params:any): Observable<any[]> {
    var qStr = $.param(params); //<---YOUR GUY
    return this._http.get(this._adUrl+"?"+qStr)
      .map((response: Response) => <any[]> response.json())
      .catch(this.handleError);
}

前提是您已经安装了jQuery,我这样做npm i jquery --save并包含apps.scriptsangular-cli.json

你的回答

加载中...
⌘+Return 发表
发表

温馨提示:登录后可发表评论或回复

关闭,朕知道了

扫码关注微信公众号或小程序