当我将 JSON 对象架构传递给客户端时,它看起来不同
Posted
技术标签:
【中文标题】当我将 JSON 对象架构传递给客户端时,它看起来不同【英文标题】:JSON object architecture looks different when I pass it to the client side 【发布时间】:2018-01-18 04:50:09 【问题描述】:这是我的架构
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var messageSchema = new Schema(
requestNumber: String,
requestedDateTime: String,
reasons: String,
state: String,
hospital: String,
phone: String,
status: type: String, default: 'Pending',
latestUpdate: Date,
createdAt: type: Date, default: Date.now
);
module.exports = mongoose.model('Requests', messageSchema);
下面我将返回包含三个组件的集合
ipcMain.on('load-requests', function(event)
hosSchemaModel.find(function(err, hosSchema)
if (err)
console.log('inside error') // return res.send(err);
else
event.sender.send('requests-results', hosSchema) // this line of code passes hosSchema to the client side
console.log(hosSchema[0].state) //prints the state attribute of the first component in the collection without any errors.
);
);
当我尝试在服务器中console.log(hosSchema)
时,我会在终端上打印以下内容:
通过引用其索引hosSchema[0].status
,我可以成功访问集合中第一个组件的状态等属性。
下面我正在尝试将hosSchema
打印到控制台(在前端)
ipcRenderer.on('requests-results', (event, hosSchema) =>
console.log(hosSchema)
)
我得到的结果与他们在终端中看到的不同。下面是图片
而hosSchema[0].status
返回未定义。
我的问题是:
1) 为什么hosSchema[0].status
在前端不起作用?
2) 在客户端访问属性的正确方法是什么?
【问题讨论】:
【参考方案1】:您在前端所要做的就是使用hosSchema[0]._doc.status
而不是hosSchema[0].status
【讨论】:
以上是关于当我将 JSON 对象架构传递给客户端时,它看起来不同的主要内容,如果未能解决你的问题,请参考以下文章
Express EJS模板如何传递一个json对象来查看它是不是未定义
Ionic 2:当我将数组传递给组件时,我在 component.ts 上得到一个字符串
当我将 ArrayList 的 get 方法传递给一个变量时,它使用的是整个 ArrayList