Angular 2 http get querystring params



希望有人能帮忙。我构建了一个基于较新的Angular 2的ionic 2应用程序,我熟悉以前版本的Angular,但仍然试图弄清楚整个打字稿。

我有我的API设置,有基本的获取查询字符串(例如domain.com?state=ca&city=somename(

export class TestPage {
public state: string ='ca';
public city: string = null;
constructor(private http: Http){}
public submit() { 
   let url = "http://localhost/api"; 
   let payload = {"state": this.state, "city": this.city};
   this.$http.get(url, payload).subscribe(result => {
      //result
   }, err => {  
      //do something with the error 
   }
  )
 }
}

当我执行此操作时,它会很好地拉取我的 API url,我可以得到响应,但是请求中没有发送任何查询字符串。它只是发送http://localhost/api. 如果我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()
 );

文档:这里

相关内容

  • 没有找到相关文章

最新更新