首页 > 解决方案 > 我的邮递员正在发出发送请求,但对某些值什么也不做

问题描述

这是我在 Node JS 中的代码,我使用的是 mysql

router.post('/districts', (req, res) => {
    const stateid = req.body.stateid;
    db.query("select id, name from lkup_district where stateid = '"+stateid+"' ", (error, rows) => {
        if(error) {
            console.log(error);
        }
        if(rows.length>0) {
            res.send(rows);
        }
    });
});

使用 stateid 我正在获取地区数据。但是,如果我发送一些 lkup_districts 中不存在的 stateid,邮递员会给我加载,但什么也没有发生。怎么了?

我应该写吗

if(rows.length=0) {
}

标签: node.js

解决方案


看。仅当您找到某些东西时,您才应要求发送答案。如果发生错误或您的请求一无所获,您不会发回任何数据。所以,恕我直言,您需要稍微修改您的代码。就像是

router.post('/districts', (req, res) => {
  const stateid = req.body.stateid;
  db.query(
      "select id, name from lkup_district where stateid = ? "
      ,[stateid], (error, rows) => {
          if(error) {
              console.log(error);
              res.status(500).send("Error proceeding query");
          }
          if(rows.length>0) {
              res.send(rows);
          }
          else {
              res.status(404).send("No data found");
          }

      }
  );
});

推荐阅读