当我运行Web应用程序时,出现此错误。这是突然发生的。

Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:344:11)
at ServerResponse.res.set.res.header (D:


这是一个公开的API。

app.post('/api/filesReadUpload', function(req, res) {

    var eventReadUpload=new filesReadUpload({
      //id:req.body.id,
        dat:req.body.dat,
        details:req.body.details,
        tim:req.body.tim,
      //  space:req.body.space

    });

    eventReadUpload.save(function(err) {
      if (err)
          res.send(err);

      res.json({ message: 'Read file!' });
});
        });


javascript - 无法在NodeJs,AngularJs Web应用程序上加载资源:net::ERR_CONNECTION_REFUSED-LMLPHP

任何人都可以对此提供支持。如果此信息不足,请通知我。

谢谢

最佳答案

出现ERR_CONNECTION_REFUSED的原因是服务器已关闭。服务器停机的原因是由于您指出的错误:


  错误:发送标头后无法设置标头。


这意味着您尝试发送两次响应。如果发生错误,则必须运行return res.send(err),因为您不想在发生错误的情况下不调用res.json。如果您这样做(当前正在发生的事情),则会收到该错误。

eventReadUpload.save(function(err) {
  if (err)
    return res.send(err);

  res.json({
    message: 'Read file!'
  });
});


您将必须弄清楚保存失败的原因,但这将解决最初的问题。

关于javascript - 无法在NodeJs,AngularJs Web应用程序上加载资源:net::ERR_CONNECTION_REFUSED,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44248208/

10-12 01:02