对于这件事,我是使用 Ionic 或 Angular 的菜鸟。因此,作为备忘单,我正在使用 ionic-super-starter 模板(下面的链接)。我正在尝试向我的 API 发出 get 请求,它的工作原理只是找出我是否这样做:
this.api.get('user/'+this.user.userId+'/entries?include=stuff&access_token=TOKEN');
但是当我将 url 参数放入一个对象时,它会停止工作:
let options = {
'include':'stuff',
'access_token':'TOKEN'
}
this.api.get('user/'+this.user.userId+'/entries', options);
我得到的唯一错误是“未经授权的请求”,因为包括访问令牌的选项对象未附加到 url。
在 ionic-super-starter 模板中,我的 params 对象中的每个键的providers/api/api.ts
调用:.set()
if (params) {
reqOpts.params = new HttpParams();
for (let k in params) {
reqOpts.params.set(k, params[k]);
}
}
但根据 Angular 大学的说法,这是不可能的,因为“HTTPParams 是不可变的”。如果这样做真的是错误的,我不相信它会出现在离子模板中。我也不相信我会是第一个遇到这个问题的人。
但是,我被困在这里,所以任何帮助将不胜感激。
Angular 大学链接: https ://blog.angular-university.io/angular-http/#httprequestparameters
ionic-super-starter 链接: https ://github.com/ionic-team/starters/tree/master/ionic-angular/official/super