【发布时间】:2018-10-04 14:15:03
【问题描述】:
我正在使用 node、express、mysql 创建一个简单的应用程序。
我正在尝试创建一个可以从我的数据库中删除一行的路由,我编写了一个纯 javascript xhr。
当我测试它时,我不断收到以下错误消息
POST http://localhost:3000/article/22 404(未找到)
这就是我所拥有的:
main.js
function handleDeleteClick(e, userId) {
e.preventDefault(); // Prevent default behaviour of this event (eg: submitting the form
// Perform the AJAX request to delete this user
var target = e.target;
var id = target.getAttribute('data-id');
var page = '/article/' + id;
var parameters = 'delete=true';
var xmlhttp = new XMLHttpRequest();
if (confirm('Are you sure you want to delete this?') == true) {
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// Request completed
}
}
xmlhttp.open("POST", page, true);
xmlhttp.send(parameters);
}
}
和路由 app.js
app.delete('/article/:id', function(req, res) {
con.query(`DELETE FROM posts WHERE posts.id = ${req.params.id}`,
function(err, result, fields) {
if (err) {
console.log(err);
} else {
console.log("deleted Record: " + result.affectedRows);
res.redirect('/')
}
});
});
我错过了什么?
非常感谢您的帮助! 谢谢。
【问题讨论】:
-
危险:你容易受到SQL injection attacks
标签: javascript mysql node.js express