Express API:错误[ERR

编程入门 行业动态 更新时间:2024-10-08 19:41:47

Express API:<a href=https://www.elefans.com/category/jswz/34/1771449.html style=错误[ERR"/>

Express API:错误[ERR

我知道这个问题已经问了很多,但没有一个答案适合我的情况。即使我仅向客户端发送一次响应,我仍会收到此错误。请任何人指出我所缺少的东西吗?感谢您的帮助。这是我的路由器代码:

router.get("/trainers/:page/:limit", verifyToken, (req, res) => {

  const numPerPage = req.params.limit; // number of items per page
  const page = req.params.page;
  let result; //final object to be sent to client

  connection.query("Select count(*) as totalCount from trainers", (err, rows, fields) => {
    if (err) {
      return res.sendStatus(500).json({error: err})
    }
    var totalCount = rows[0].totalCount;
    var numPages = Math.ceil(totalCount / numPerPage);

    connection.query("SELECT id FROM trainers LIMIT ? OFFSET ?", [numPerPage, (page-1) * numPerPage], (err, rows, fields) => {
      if (err) {
        return res.sendStatus(500).json({error: err})
      } else {
        result = { rows, numPages }
        res.json()
      }
    })
  })
})

这里是错误日志:

抛出错误; //抛出非MySQL错误^

错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头在ServerResponse.setHeader(_http_outgoing.js:526:11)在ServerResponse.header(/ Users / diego / Documents / DT Personal Training App / express-api / node_modules / express / lib / response.js:771:10)在ServerResponse.send(/ Users / diego / Documents / DT Personal Training App / express-api / node_modules / express / lib / response.js:170:12)在ServerResponse.json(/ Users / diego / Documents / DT Personal Training App / express-api / node_modules / express / lib / response.js:267:15)在查询。 (/用户/ diego /文档/ DT个人培训应用程序/express-api/routes/admin/trainers.js:53:36)在查询。 (/用户/ diego /文档/ DT个人培训应用程序/express-api/node_modules/mysql/lib/Connection.js:526:10)在Query._callback(/ Users / diego / Documents / DT Personal Training App / express-api / node_modules / mysql / lib / Connection.js:488:16)在Query.Sequence.end(/ Users / diego / Documents / DT Personal Training App / express-api / node_modules / mysql / lib / protocol / sequences / Sequence.js:83:24)在Query.ErrorPacket上(/ Users / diego / Documents / DT Personal Training App / express-api / node_modules / mysql / lib / protocol / sequences / Query.js:92:8)在Protocol._parsePacket(/ Users / diego / Documents / DT Personal Training App / express-api / node_modules / mysql / lib / protocol / Protocol.js:291:23){代码:“ ERR_HTTP_HEADERS_SENT”}

回答如下:

根据express docs

res.sendStatus(500) // equivalent to res.status(500).send('Internal Server Error')

所以您需要使用res.status(500).json({error: err})以避免出现此错误:)

更多推荐

Express API:错误[ERR

本文发布于:2024-05-07 11:07:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755956.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:错误   Express   API   ERR

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!