【问题标题】:Error message is returned only for 200 or 500 error codes仅针对 200 或 500 个错误代码返回错误消息
【发布时间】:2015-03-04 00:41:03
【问题描述】:

我正在尝试向客户端返回错误响应,但仅当我将状态代码设置为 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'
        });
    }
};

【问题讨论】:

  • 你能做一个最小的测试用例吗?这是使用 Express.js 吗?
  • 简化了代码。是的,它使用 ExpressJS

标签: node.js express error-handling


【解决方案1】:

试试这个

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

【讨论】:

  • 没有帮助。和以前一样
  • 在我的应用程序中,我使用 404 状态代码并返回一个 json 可以正常工作到 mi
  • 确实它对我也适用于 404。我想知道304有什么特别之处。这段代码有什么我应该知道的意义吗?
  • 虽然这个答案可能是正确且有用的,但最好在其中附上一些解释来解释它如何帮助解决问题。如果有更改(可能不相关)导致它停止工作并且用户需要了解它曾经是如何工作的,这在未来变得特别有用。
  • 在 w3c.org 中解释 - 304 响应不得包含消息正文 - 并表明内容未被修改 see here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-25
相关资源
最近更新 更多