基本上,我尝试使用HTML输入将ArtistId和Name添加到我的SQLite3数据库中。每次按下提交按钮,我都会收到“未找到”字样。页面而不是' / success'我在视图文件夹中设置的页面,我的数据库没有更新。我已经运行了一个简单的测试,以确保我已连接到成功的数据库 - 它在代码中被注释掉了。为此,我使用Express,Handlebars和SQLite3。请帮我理解如何正确地做到这一点。提前谢谢。
<form action="/form" method="POST">
<div>
<label for="ArtistId">Artist Id: </label>
<input type="text" name="artistId">
</div>
<div>
<label for="name">Name: </label>
<input type="text" name="name">
</div>
<div>
<button type="submit" value="submit">Submit</button>
</div>
</form>
const express = require('express');
const router = express.Router();
const app = express();
const bodyParser = require('body-parser');
const sqlite3 = require('sqlite3').verbose();
const db = new
sqlite3.Database('./Chinook_Sqlite_AutoIncrementPKs(2).sqlite');
// const query = `SELECT * FROM Artist LIMIT 5`;
// db.each(query, (err, row) => {
// if (err) throw err;
// console.log(row);
// });
//
// db.close();
router.get('/form', function(req, res, next) {
res.render('form');
});
app.post('/form', (req, res, next) => {
db.run(
`INSERT INTO Artist(ArtistId, Name) VALUES(${req.body.artistId},
${req.body.name})`,
(err, row) => {
if (err) throw err;
res.redirect(303, '/success');
}
);
});
module.exports = router;