Javascript属性未定义



我已经从web服务中检索了一些数据,并且我能够将对象打印到控制台。

data.cashiers.forEach(c => {
console.log('c is ' + c);
console.log('c.name is ' + c.name);
$('#sales_entry_cashier').append(new Option(c.name, c.uid));
});

奇怪的是,它完全打印c,但拒绝说c.name有一个值,像这样:

c is {"uid":"6a661e7d-61a7-477f-b69c-f328b06819a3","name":"Admin"}      sales.js:87
c.name is undefined                                                     sales.js:88

然后,当然,当它试图附加名称和uid时,它会爆炸。我该如何解决这个问题?显然,在输出的Object中,有一个c.name,即"Admin"-为什么我不能进入物业?

您确定它是一个对象并且没有被序列化吗?

先检查你的回复类型

console.log(typeof c)

如果是字符串,则反序列化

c = JSON.parse(c)

从那里开始

编辑:Confirmed that it is a string.

data.cashiers.forEach(c => {
c = JSON.parse(c)
$('#sales_entry_cashier').append(new Option(c.name, c.uid));
});

相关内容

  • 没有找到相关文章

最新更新