我的邮递员正在发出发送请求,但对某些值却不执行

时间:2018-09-13 02:05:36

标签: node.js

这是我在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) {
}

1 个答案:

答案 0 :(得分:2)

看。仅当您发现问题时,才应要求发送答案。如果发生错误或您的请求找不到任何内容,则不发送任何数据。因此,恕我直言,您需要稍微修改代码。

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");
          }

      }
  );
});