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

http TypeScript

伽罗理查德

2020-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查询字符串的工作。

第4205篇《如何将url参数(查询字符串)传递给Angular上的HTTP请求?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
JinJin 2020.05.28
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

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android