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 接收的数据,但无法显示数据