我从服务器发送字符串数组:
Node.JS + Express.JS
app.get('/url', function (req, res) {
res.send(["item1", "item2", "item3"]);
})
但是在前端我收到了一些对象:
Angular.JS
SomeResource.query(function (data) {
console.log(data);
});
在控制台中
0: Resource
0: "i"
1: "t"
2: "e"
3: "m"
4: "1"
$$hashKey: "008"
__proto__: Resource
1: Resource
0: "i"
1: "t"
2: "e"
3: "m"
4: "2"
$$hashKey: "009"
__proto__: Resource
2: Resource
0: "i"
1: "t"
2: "e"
3: "m"
4: "3"
$$hashKey: "00A"
__proto__: Resource
为什么会这样?如何在前端接收相同的数组? 感谢
答案 0 :(得分:1)
这是因为MIME不幸的是不支持JavaScript数据类型数据。
MIME标准定义的内容类型也很重要 在电子邮件之外,例如在HTTP等通信协议中 全球资讯网。 HTTP要求在上下文中传输数据 类似电子邮件的消息,尽管数据通常不是 电子邮件。
使用JSON。
您可以在浏览器调试器控制台(例如Firebug)或节点控制台上确认。
var json = JSON.stringify(["item1", "item2", "item3"]);
->undefined
JSON.parse(json);
->["item1", "item2", "item3"]
所以,在服务器端
app.get('/url', function (req, res) {
res.send(JSON.stringify(["item1", "item2", "item3"]));
})
和JSON.parse
客户端数据以获取数组。