javascript - 从 Angular 中的 API 获取数据时出现问题
问题描述
我正在尝试从 API 获取数据,当我 console.log() 它时,我在控制台中获取数据,但是当我尝试在我的表中获取它时,我收到以下错误:错误错误:尝试错误差异'[对象对象]'。只允许使用数组和可迭代对象
我的 ts 文件
CovidPatients:any=[];
show() {
this.http.get('https:API-URL').subscribe(responseData=>{
const data1=JSON.stringify(responseData)
this.CovidPatients=JSON.parse(data1)
console.log(data1);
})
}
html
<tr *ngFor="let data of CovidPatients">
<td>{{data.agebracket}}</td>
<td>{{data.contractedfromwhichpatientsuspected}}</td>
<td>{{data.currentstatus}}</td>
<tr>
在 API 中,数据位于嵌套的 Array 中,我认为这可能是问题所在:
{
"raw_data": [
{
"agebracket": "",
"contractedfromwhichpatientsuspected": "",
"currentstatus": "Hospitalized",
"dateannounced": "10/05/2020",
"detectedcity": "",
"detecteddistrict": "",
"detectedstate": "",
"entryid": "",
"gender": "",
"nationality": "",
"notes": "",
"numcases": "2",
"patientnumber": "37900",
"source1": "https://twitter.com/ANI/status/1259331384851775488?s=09",
"source2": "",
"source3": "",
"statecode": "RJ",
"statepatientnumber": "",
"statuschangedate": "",
"typeoftransmission": ""
},
{
"agebracket": "",
"contractedfromwhichpatientsuspected": "",.....................
如何在表格中显示数据。
解决方案
CovidPatients
不是数组。将您的 for 循环更改为:
<tr *ngFor="let data of CovidPatients.raw_data">
推荐阅读
- java - 将应用程序服务器与 MongoDB 集合中的更改同步
- mbed - 如何通过 oneM2M 推荐的 Data Management and Repository (DMR) 维护数据?
- r - 如何比较不同列的具有不同容差值的两个数据框?
- mysql - 获取group by语句中的某个值
- amazon-web-services - Auto Scaling 组中每个 EC2 实例的 HTTPS
- recursion - 非素数三角形中的最大路径和
- reactjs - 创建反应应用程序:重新排序样式标签,以便 css 的顺序正确
- powershell - 删除 PowerShell 脚本中特定字符之前的文本
- python-3.x - 如何从文本文件中查找字谜
- c - C fgets() 如何判断行是否大于指定大小