谁在Nodejs中的数据字段中发送响应数据

时间:2016-09-01 16:22:22

标签: javascript node.js http

我需要的是在客户端的“数据”字段中发送英雄对象。

这是我的NodeJS代码:

app.get('/heroes', (req, res) => {
    getHeroes().then(function (heroes) {
        res.json(heroes);
    }, function (error) {
        console.log("Error: " + error);
    });
});

heroes是我从MongoDB获得的JavaScript对象。

客户看到如下内容:

_body: "[{"name":"dsfsdf","id":"1"},{"name":"fhghfgh","id"…{"name":"sdff","id":"1"}

谁将英雄存储在数据属性而不是_body?

提前致谢。

2 个答案:

答案 0 :(得分:1)

response.json()函数接受JSON对象。您提供了一组JSON对象而不是JSON对象本身。您需要声明要分配数据的JSON项。如果没有明确的声明,则默认为_body

你可以这样做:

app.get('/heroes', (req, res) => {
    getHeroes().then(function (heroes) {
        res.json({ "data": heroes });
    }, function (error) {
        console.log("Error: " + error);
    });
});

我希望这有帮助!

答案 1 :(得分:1)

app.get('/heroes', (req, res) => {
    getHeroes().then(function (heroes) {
        res.json({"data": heroes._body });
    }, function (error) {
        console.log("Error: " + error);
    });
});