Console.log(json)返回完整的消息,但是res.status(200).json(json)为空

时间:2019-07-19 16:18:16

标签: node.js express

在我的Express应用中,从POST请求到/keepAlive的响应返回一个空JSON。但是,当我在控制台中使用相同的变量打印时,会看到该值。

这是我在控制台中看到的:

{ 
    status: 'ok',
    code: '0',
    msg: 'Keepalive procesado correctamente.',
    ops: [ 
        op1: { 
            op: 'upsertuser',
            params: [Array],
            created: 2019-07-19T16:12:39.000Z 
        } 
    ] 
}

这就是我在邮递员中看到的:

{
    "status": "ok",
    "code": "0",
    "msg": "Keepalive procesado correctamente.",
    "ops": []
}

这是我在Node.js中的代码:

app.post('/keepAlive', middleware.checkToken, function(req, res) {
    keepAlive(req, res, function(opsvar) {
        var json = {
            status: 'ok',
            code: '0',
            msg: 'Keepalive procesado correctamente.',
            ops: opsvar
        };

        console.log(json);
        res.status(200).json(json);
    })
})

1 个答案:

答案 0 :(得分:1)

我发现了自己的错误,问题是我将变量opsvar初始化为数组,并且必须将其初始化为Object。