HttpClient追加参数对象GET请求

我很喜欢使用Ionic或Angular的noob。所以作为备忘单,我使用了离子超启动模板(下面的链接)。 我试图做一个GET请求我的API和它的作品只是觉得如果我做这样的:HttpClient追加参数对象GET请求

this.api.get('user/'+this.user.userId+'/entries?include=stuff&access_token=TOKEN'); 

,但是当我把网址参数到一个对象时,它停止工作:

let options = { 

'include':'stuff',

'access_token':'TOKEN'

}

this.api.get('user/'+this.user.userId+'/entries', options);

我得到的唯一错误是“未经授权的请求”,因为包括访问令牌的选项对象没有附加到URL。


在离子超起动模板在我的params对象每个键的providers/api/api.ts电话.set()

if (params) { 

reqOpts.params = new HttpParams();

for (let k in params) {

reqOpts.params.set(k, params[k]);

}

}

但根据角大学,这是不可能的,因为“的HttpParams是不可改变”。 如果真的做错了,我不相信它会出现在离子模板中。我也不相信我会成为第一个遇到这个问题的人。

但是,我卡在这里,所以任何帮助,将不胜感激。



链接到角大学: https://blog.angular-university.io/angular-http/#httprequestparameters

链接到离子超首发: https://github.com/ionic-team/starters/tree/master/ionic-angular/official/super

回答:

我想我想通了自己:

如果我写(在我的src/providers/api/api.ts

reqOpts.params = reqOpts.params.append(k, params[k]); 

代替

reqOpts.params.set(k, params[k]); 

它的工作原理。

,如果你使用的是环回API,因为我你可能已经嵌套状物体:

let options = { 

"filter": {

"order": "date DESC"

},

"access_token":this.user._accessToken

};

这是不行的。尝试改为:

let options = { 

"filter": '{"order":"date DESC"}',

"access_token":this.user._accessToken

};

以上是 HttpClient追加参数对象GET请求 的全部内容, 来源链接: utcz.com/qa/264159.html

回到顶部