【发布时间】:2016-02-14 11:56:12
【问题描述】:
简要版
我想知道如何将 NodeJS 中的以下对象数组发送到 AngularJS 中的应用程序。
var players =
[
Footer: { username: 'Footer', hp: 200, exp: 1 },
Barter: { username: 'Barter', hp: 200, exp: 1 }
];
我尝试通过多种方式发送它,但我总是在 AngularJS 端收到一个空数组。
扩展问题
在服务器上,我将新用户分配给数组players。我想找到user object 传递username 作为数组的一些索引。我已经使用 .push 方法成功地完成了它,但它没有提供使用索引访问它的方法。所以,我开始使用bracket notation 在我的数组上创建对象,然后使用它进行访问:
//players.push(user); //This does work, but won't be indexed.
var username = user.username; //This is the new user object.
players[username] = user; //Using bracket notation to create object
在那之后,我有一个用这个players 数组响应的路由。我试过res.send() 和res.json()。该数组在发送前是console.log(),这很好。但是响应是一个空数组。
在客户端,我正在记录 res.data,它只记录 []。
我有点卡在这里。如果需要,我可以在这里放更多代码。或者,您可以使用完整代码访问此GitHub project。
【问题讨论】:
-
他们的第一个数组语法错误,数组项不能有键
-
谢谢,@mcfedr。我已将数组更改为对象,一切正常。只需 [ ] 到 { }。
标签: javascript arrays angularjs node.js