Angular 8 使用正确的数据显示 HTTP 响应。 ([对象对象])[重复]

Posted

技术标签:

【中文标题】Angular 8 使用正确的数据显示 HTTP 响应。 ([对象对象])[重复]【英文标题】:Angular 8 Show HTTP response with the right data. ([object Object]) [duplicate] 【发布时间】:2020-05-15 20:57:09 【问题描述】:

在我当前的 Angular 项目中,我将 JSON 文件发送到服务器,服务器将修改后的 JSON 文件返回给我。新的 JSON 文件应显示在树中。

我目前的问题是我无法从新的 JSON 中读取数据。每当我想显示 JSON 对象时,总是会收到错误消息:

[object Object]

发布请求:

public sendJSON() 
    this.http.post('url', this.combineJSON,headers:'Content-Type': 'application/json').subscribe((data: Device) => 

    console.log("Test Output: " + data);
  )

我定义了一个模型来处理响应:

export class Device 
    orderNumber: number;

    deviceTypeId: number;

    swRevision: string;

    hwRevision: string;

这里数据显示不正确的问题在哪里?

【问题讨论】:

console.log("Test Output: ", data) 没有 JSON 对象这样的东西。它要么是 JSON,即文本,要么是一个对象。要查看正确的控制台输出,请使用 console.log("Test Output: ", data); 参见此处:***.com/questions/4750225/… 【参考方案1】:

数据未正确显示是因为您的 console.log 中的 +

+ 连接字符串,如果不是字符串,则调用对象的toString() 方法。

简单的改变:

console.log("Test Output: " + data);

到:

console.log("Test Output: ", data);

它应该显示你的对象。

【讨论】:

【参考方案2】:

您正在尝试打印整个对象。您可以利用JSON.stringify() 函数将您的对象显示为字符串。

console.log("Test Output: " + JSON.stringify(data));

您定义的模型可帮助您识别源代码中数据对象的所有属性。 例如,您可以使用以下命令打印 swRevision 属性:

console.log("Test Output: " + data.swRevision);

【讨论】:

以上是关于Angular 8 使用正确的数据显示 HTTP 响应。 ([对象对象])[重复]的主要内容,如果未能解决你的问题,请参考以下文章

*ngFor 在 <li> 中使用 Angular 版本 8.2.8 绑定从 API 接收的数据,但无法显示数据

Angular Ag-Grid 无法正确显示

Angular 2 Service 返回对象对象

js:使用angular的http获取json数据

在 Django CSRF 保护中使用 angular2 http 请求的正确方法是啥?

表单未预先填充Angular 8