使用JavaScript和ExpressJS处理SQLite错误

bjg7j2ky  于 2022-11-15  发布在  SQLite
关注(0)|答案(2)|浏览(175)

我创建了一个后端路径来获取带有特定字母的游戏。下面您可以找到我创建的两条路线:

router.get("/public/gamelist/:letter", (req, res, next) => {
  var sql = "SELECT title FROM Games WHERE title LIKE ? || '%' AND ownage = 'true'"
  var params = [req.params.letter]
  db.all(sql, params, (err, rows) => {
    if (rows) {
      return res.status(200).json(rows);
    } else if (!rows) {
      return res.json({ "answer": "NoGame" })
    } else if (err) {
      res.status(400).json({ "error": err.message });
      return;
    }
  });
});

router.get("/public/game/:title", (req, res, next) => {
  var sql = "select * from Games where title = ?"
  var params = [req.params.title]
  db.get(sql, params, (err, row) => {
    if (row) {
      res.status(200).json(row);
    } else if (!row) {
      console.log("Dont exist")
      return res.json({ "answer": "NoGame" })
    } else if (err) {
      res.status(400).json({ "error": err.message });
      return;
    }
  });
});

第二条路由/public/game/:title按预期工作,而第一条路由/public/gamelist/:letter没有捕捉到空结果。它总是返回200,当不存在游戏时,它只返回一个空数组,而不是({ "answer": "NoGame" })
有人知道我的这部分代码出了什么问题吗?

am46iovg

am46iovg1#

// Happy coding guys
const express=require('express')
const routes = require('./routes')
const app=express()

app.set("view engine","ejs")
app.use(express.urlencoded({ extended: true }))

app.use("/", routes)

app.listen(3000,()=>{
    console.log("SERVER ACTIVE");
})
rjjhvcjd

rjjhvcjd2#

static addSongGet(request,response){
        let error=request.query.error
        if (!error) {
            error=[]
        }else{
            error=error.split(',')
        }
        console.log(error);
        ModelSongs.addSongGet((err,data)=>{
            if (err) {
                response.send(err)
            }else{
                // console.log(error);
                response.render("songsAdd",{data,error})
            }
        })
    }
    static addSongPost(request,response){
        // console.log('ini dari control');
        ModelSongs.addSongPost(request,(err,data)=>{
            if (err) {
                // console.log(err);
                response.redirect(`/songs/add?error=${err}`)
            }else{
                response.redirect('/songs')
            }
        })
    }

相关问题