我有一个像这样的mysql表
id photo_name mob_no Status url
4 one 3434 OK http://foofo
5 two 434 Rejected http://barbar
6 three 434 Pending http://bazbaz
我正在使用ejs文件打印其值,但是我想展示3个按钮,这些按钮可以将状态更改为:批准,拒绝或待处理 可以说它将返回查询:
UPDATE `scans` SET `status` = 'OK' WHERE `id` = 6
不幸的是,我无法找到一种方法来使用post方法并仅通过叮当一个按钮来返回这些值。 iv'e尝试将表单与post方法一起使用,但没有成功,我也没有 要用文本填写表格,只需按一个基本上返回字符串的按钮即可。
我正在像这样打印表格:
app.get('/home/xray', user.xray)
exports.xray = function(req, res){
db.query('SELECT * FROM scans', function (err, result) {
if (err) {
throw err;
} else {
res.render('xray.ejs', {result});
}
});
};
答案 0 :(得分:1)
您可以通过查询字符串将两个参数发送到同一路径。请按照以下步骤操作:
NodeJS路线:
app.get('/home/xray', user.xray)
exports.xray = function(req, res){
if(req.query.id && req.query.status) {
// UPDATE QUERY WHERE ID = req.query.id and STATUS = req.query.status
}
db.query('SELECT * FROM scans', function (err, result) {
if (err) {
throw err;
} else {
res.render('xray.ejs', {result});
}
});
};
模板EJS:
<a href="?id={{currentPhotoId}}&status=OK">Status Ok</a>
<a href="?id={{currentPhotoId}}&status=Rejected">Status Rejected</a>
<a href="?id={{currentPhotoId}}&status=Pending">Status Pending</a>
为确保并提高安全性,您可以检查通过查询字符串传递的status
,但这应该可行。