尝试diff'[object Object]'时出错。当我调用get时,只允许数组和迭代

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试diff'[object Object]'时出错。当我调用get时,只允许数组和迭代相关的知识,希望对你有一定的参考价值。

我有我的servers.service.tsGET REQUEST这个:

  getServers(){
     return this.http.get('https://*******.firebaseio.com/data.json').map((response: Response)=>{const data=response.json();console.log(data);return data;});
}

在我的app.component.ts中,我这样做:

onGet(){
    this.serverService.getServers().subscribe(
      (servers: any[])=> this.servers=servers,
      (error)=>console.log(error)
    );
  }

我像db firebase一样使用它会抛出这个异常

尝试diff'[object Object]'时出错。只允许数组和迭代

当我打电话给onGet()。有人可以帮帮我吗?

答案

ngFor仅接受数组格式数据。但是你的服务返回非数组对象。这就是你得到这个错误的原因。

请尝试以下代码

const data=response.json().results;

代替

 const data=response.json()

以上是关于尝试diff'[object Object]'时出错。当我调用get时,只允许数组和迭代的主要内容,如果未能解决你的问题,请参考以下文章

Angular:尝试与'[object Object]'进行比较时出错。仅允许数组和可迭代的对象

尝试在空对象引用上调用虚方法'boolean java.lang.String.equals(java.lang.Object)'

无法访问受保护的成员“object.MemberwiseClone()”

TypeError: Object(...) 不是函数;尝试创建 redux 商店时

jinja2.exceptions.UndefinedError:'str object'没有属性'username'

Backbone Uncaught TypeError:Object [object Object]没有方法'call'