Node.js 仅针对200或500个错误代码返回错误消息

Node.js 仅针对200或500个错误代码返回错误消息,node.js,express,error-handling,Node.js,Express,Error Handling,我试图将错误响应返回给客户端,但它仅在我将状态代码设置为200或500时返回。当我设置为304时,它不会返回消息。我错过了什么。请澄清 res.send(304, { message: 'cannot update config with empty value' }); 徖 // update configure options exports.update = function(req, res) { if (req.body.i

我试图将错误响应返回给客户端,但它仅在我将状态代码设置为200或500时返回。当我设置为304时,它不会返回消息。我错过了什么。请澄清

  res.send(304, {
            message: 'cannot update config with empty value'
        });

    // update configure options
exports.update = function(req, res) {
    if (req.body.items) {
       // if items exists do something        
       ....
       ....
    } else {
        // returns error message when set to 200 or 500 but does not when 304
        // ie.,response body is empty
        res.send(304, {
            message: 'cannot update config with empty value'
        });
    }
};
试试这个

res.status(304).send({
    message: 'cannot update config with empty value'
});

你能做一个最小的测试用例吗?这是使用Express.js吗?简化了代码。是的,它使用ExpressJS,但没有帮助。和以前一样,在我的应用程序中,我使用404状态码并返回一个json,对我来说效果很好。事实上,对我来说,它也适用于404。我想知道304有什么特别之处。这段代码有什么我应该知道的意义吗?虽然这个答案可能是正确和有用的,但是如果您在其中包含一些解释,以解释它如何帮助解决问题,则最好是这样。这在将来变得特别有用,如果有一个变化(可能无关)导致它停止工作,用户需要了解它曾经是如何工作的。在w3c.org中,解释304响应不能包含消息体,并指出内容没有被修改