首页 > 解决方案 > 从 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": "",.....................

如何在表格中显示数据。

标签: javascripthtmlangularapi

解决方案


CovidPatients不是数组。将您的 for 循环更改为:

<tr *ngFor="let data of CovidPatients.raw_data">


推荐阅读