【问题标题】:UnhandledPromiseRejectionWarning: Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the clientUnhandledPromiseRejectionWarning:错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到客户端后无法设置标头
【发布时间】:2019-09-28 23:01:18
【问题描述】:

当我尝试在同一个帖子中发送和接收数据时,我会收到此错误。我无法找出问题所在。

但这并不是代码根本不起作用,数据显示得非常好。只是我在 bash 控制台中遇到了这个错误。

router.post('/add',(req, res) => {

    const newAMCReg = new AMCReg({
      amcrefno: req.body.amcrefno,
      amcregdate: req.body.amcregdate,
      customer: req.body.customerid,
      customertype: req.body.customertypeid,
      department: req.body.customersubdepartmentid,
      serviceprovider: req.body.serviceproviderid,
      amcstartdate: req.body.amcstartdate,
      amcexpiredate: req.body.amcexpiredate,
      remarks: req.body.remarks
    });
    newAMCReg.save()
    .then((amcid) => {

      AMCReg.findOne({amcrefno: req.body.amcrefno})
      .then(amc => res.json(amc))
      .then(amc => {
        res.status(200).json({ msg: "AMC Registration Updated Successfully" });
      })
      .catch(err => res.status(500).json({msg: "Internal Server Error"}));
    })
});

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    您不应多次发送回复,请参见下文:

    router.post('/add', (req, res) => {
    
      const newAMCReg = new AMCReg({
        amcrefno: req.body.amcrefno,
        amcregdate: req.body.amcregdate,
        customer: req.body.customerid,
        customertype: req.body.customertypeid,
        department: req.body.customersubdepartmentid,
        serviceprovider: req.body.serviceproviderid,
        amcstartdate: req.body.amcstartdate,
        amcexpiredate: req.body.amcexpiredate,
        remarks: req.body.remarks
      });
      newAMCReg.save()
        .then((amcid) => {
    
          AMCReg.findOne({
              amcrefno: req.body.amcrefno
            })
            .then(amc => {
              res.status(200).json({
                msg: "AMC Registration Updated Successfully",
                data: amc
              });
            })
            .catch(err => res.status(500).json({
              msg: "Internal Server Error"
            }));
        })
    });

    【讨论】:

    • 我该怎么做才能同时发送和获取。这段代码给了我结果
    • 感谢 Vikash 它确实回答了我的问题,实际上我没有在下面看到您的评论,tnx。你太棒了!!!
    猜你喜欢
    • 2020-11-01
    • 2021-10-11
    • 2020-05-26
    • 2018-09-19
    • 2020-09-22
    • 2023-01-19
    • 2021-02-26
    • 2021-08-20
    相关资源
    最近更新 更多