我正在使用Ionic构建一个移动应用程序,该应用程序将GET请求发送到服务器,接收作为响应的项目列表,并将其显示在页面上。
home.ts中的代码如下:
const url = <my_url>;
let day_id = <some_id>
this.response = this.httpClient.get(url);
this.response
.subscribe(res => {
this.items = res[day_id];
});
我应该得到以下结构的响应:
{day_id: [{"time": ..., "name": ...}, {...}, {...}]}
然后我遍历接收的项目以显示它们,如下所示:
<ion-list>
<button ion-item *ngFor="let item of items" (click)="itemTapped($event, item)">
{{item.time}}
<div class="item-note" item-end>
{{item.name}}
</div>
</button>
但是不幸的是,当我运行该应用程序时,它提供了一些ERROR [object Object]
。如我所见,它发生在this.response.subscribe
内部。
我不知道该问题可能与什么有关。因此,任何帮助将不胜感激。
答案 0 :(得分:0)
假设您要获得的响应的格式为:
{day_id: [{"time": ..., "name": ...}, {...}, {...}], ...}
并且您想要所有{ time: ..., name: ..., ... }
对象的合并列表,可以在您的subscribe
块中进行小的更改:
this.response
.subscribe(res => {
console.log(res);
const finalArray = [];
Object.keys(res).forEach(key => finalArray.push(...res[key]));
this.items = finalArray;
});
day_id
应该是字符串。
答案 1 :(得分:0)
您的回复中需要在day_id
周围加上引号
this.response
.subscribe(res => {
this.items = res['day_id'];
});
当day_id
实际上是对象属性时,它试图将其视为变量。