发送后无法设置标头。在快递中

时间:2017-01-27 10:56:32

标签: node.js express

我正在使用nodejs的express包,我已经编写了这个函数来发送任何通用API的响应。虽然它一直给出错误,但我无法弄清楚原因。状态功能设置响应状态,所以我不知道为什么会发生这种情况

function ResponseHandler(response, respObj, resData) {

  var resp = {
    "message" : respObj.message,
    "data" : resData
  }

  response.status(respObj.code);
  response.json(resp);
}

3 个答案:

答案 0 :(得分:2)

这是因为您使用.status(number)重新发送请求,然后尝试使用.json(string)再次发送状态。链接你的功能,只发送一个响应。

response.status(respObj.code).json(resp);

答案 1 :(得分:1)

您应该使用以下格式:

res.status(500).json({error:' message'});

请查看以下链接以了解更多详情: https://expressjs.com/en/api.html

答案 2 :(得分:1)

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});