Javascript数组字符串转换为对象数组

时间:2014-02-13 19:31:02

标签: javascript node.js angularjs express

我从服务器发送字符串数组:

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

为什么会这样?如何在前端接收相同的数组? 感谢

1 个答案:

答案 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客户端数据以获取数组。