重新加载sqlite3 nodejs不需要的页面

mpbci0fu  于 2023-06-23  发布在  SQLite
关注(0)|答案(1)|浏览(142)

我目前正在做一个收集游戏列表,我使用数据库。我决定使用SQLite3与数据库通信。
问题是当我通过点击一个按钮来添加或删除一个游戏到集合中时,它运行了一个INSERT代码或DELETE代码,然后它重新加载了我的页面。
我已经尝试使用event.preventDefault(),但它不能取消重新排序
你知道为什么吗?
感谢您的评分

<div class="game-footer">
    <div class="button-add-rem">
        <button wii-game-button></button>
    </div>
</div>

<!-- The button is not on a FORM -->
// This is the event Listener
gameButton.addEventListener("click", (e) => {
    fetch(`http://localhost:3000/ajoutsuppr?gameID=${gameID}`)
        .then(resp => resp.json())
        .then(data => {
            if(data.result === false){
                console.log("Was not on list, added")
            } else {
                console.log("Was on list, deleted")
            }
        })
        .catch(error => {
            console.log('Error when request :', error);
    });
});
app.get('/ajoutsuppr', (req, res) => {
    const gameID = req.query.gameID; // Recover game ID
    db.get(`SELECT * FROM gamelist WHERE id = ?`, [gameID], (err, row) => {
        if (err) {
            console.error('Error :', err.message);
        } else {
            if (row) {
                // This part make the page reloading
                db.run(`DELETE FROM gamelist WHERE id = ?`, [gameID], (err) => {
                    if (err) return console.error("Erro during inserting id to database: ", err.message);
                });
                res.json({result: true}) //If game was in the list, then delete
            } else {
                // This part make the page reloading
                db.run(`INSERT INTO gamelist VALUES (?,?)`, [gameID, Date.now()], (err) => {
                    if (err) return console.error("Error during inserting id to database: ", err.message);
                }); //else, i add it
                res.json({result: false})
            }
        }
    });
});

我希望只是没有页面重新加载每次我使用db.run功能时,单击按钮

rta7y2nd

rta7y2nd1#

您可以使用event.preventDefault()取消事件。

相关问题