Angularjs Angular 2 http get查询字符串参数

Angularjs Angular 2 http get查询字符串参数,angularjs,ionic2,query-string,angular4,Angularjs,Ionic2,Query String,Angular4,希望有人能帮上忙。我正在构建一个基于较新Angular 2的ionic 2应用程序,我对Angular的早期版本很熟悉,但仍在尝试绘制整个打字脚本 我用基本的get querystring设置了API(例如domain.com?state=ca&city=somename) 当我执行此操作时,它会很好地提取API url,并且我可以得到一个响应,但是请求中没有发送任何查询字符串。它只是发送http://localhost/api。如果Iconsole.log有效负载正常 最终,我试图让它完成ht

希望有人能帮上忙。我正在构建一个基于较新Angular 2的ionic 2应用程序,我对Angular的早期版本很熟悉,但仍在尝试绘制整个打字脚本

我用基本的get querystring设置了API(例如domain.com?state=ca&city=somename)

当我执行此操作时,它会很好地提取API url,并且我可以得到一个响应,但是请求中没有发送任何查询字符串。它只是发送
http://localhost/api
。如果I
console.log
有效负载正常

最终,我试图让它完成
https://localhost/api?state=ca&city=example

看看这些例子,我真的找不到任何直接的东西

使用此较新版本的Angular,是否无法在http上获取有效负载?上面的代码只是一个示例。我有很多查询字符串,这就是为什么我希望向它发送有效负载


如有任何帮助或建议,将不胜感激

Http.get方法将实现RequestOptionsArgs的对象作为第二个参数

该对象的搜索字段可用于设置字符串或URLSearchParams对象

例如:

// Parameters obj-
 let params: URLSearchParams = new URLSearchParams();
 params.set('state', this.state);
 params.set('city', this.city);

 //Http request-
 return this.http.get('http://localhost/api', {
   search: params
 }).subscribe(
   (response) => this.onGetForecastResult(response.json()), 
   (error) => this.onGetForecastError(error.json()), 
   () => this.onGetForecastComplete()
 );

文档:

ionic 2基于angular 2。。不是棱角的4.我认为棱角的4应该是棱角的2.4。谷歌搜索结果可以解释这一点。Angular.js是v1,Angular 2是v2没有任何v3或v4,但有些人出于某种原因,调用2.3和2.4 Angular 3和4。@GillesC没有。版本是4.0.0。不是2.4.0。Angular现在使用语义版本控制,4.0是2.x版本的演变。@GillesC和@limit:阅读API文档:。应该是
this.http.get(url,{params:payload})
谢谢您的解释。这起作用了。我想知道它是否可以从一个有效负载上循环,这样我就不必设置每个参数。你可以为此应用额外的逻辑。干杯
// Parameters obj-
 let params: URLSearchParams = new URLSearchParams();
 params.set('state', this.state);
 params.set('city', this.city);

 //Http request-
 return this.http.get('http://localhost/api', {
   search: params
 }).subscribe(
   (response) => this.onGetForecastResult(response.json()), 
   (error) => this.onGetForecastError(error.json()), 
   () => this.onGetForecastComplete()
 );