簡體   English   中英

SQLite 錯誤處理 JavaScript 和 ExpressJS

[英]SQLite error handling with JavaScript and ExpressJS

我創建了一個后端路由來獲取具有特定提供字母的游戲。 您可以在下面找到我創建的兩條路線:

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 /public/gamelist/:letter沒有捕捉到空結果。 它總是返回200 ,當不存在游戲時它只返回一個空數組而不是({ "answer": "NoGame" })

有誰知道我的這部分代碼有什么問題嗎?

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


    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')
            }
        })
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM