我想从后端创建 api 调用以从 mysql 数据库中删除查询,但是在浏览器中执行时出现错误 '无法获取 ...'
我传入从数据库中获取的行的路由ID 在后端的代码是:
app.delete('/products/delete/:id*?', function(req, res) =>{
let { id } = req.query;
let DELETE_PRODUCT_FROM_DB = `DELETE FROM my_db.products WHERE my_db.id= '${req.query}'`;
console.log("id: ", req.query);
// delete a row with id = req.query
connection.query(DELETE_PRODUCT_FROM_DB, (error, results, fields) => {
if (error) return console.error(error.message);
res.status(200).send(results);
console.log("Deleted Row(s):", results.affectedRows);
});
});
但最后这个调用不起作用并且行没有被删除
最佳答案
let DELETE_PRODUCT_FROM_DB = `DELETE FROM my_db.products WHERE my_db.id= '${req.query.id}'`;
console.log("id: ", req.query.id);
Try using this.
fetch(url, {
method: 'delete'
}).then(response => response.json());
Try running this in your browser console. It should work.
您很可能正在对 DELETE 资源进行 GET 调用。 请阅读Express 4.x .你能分享你用来从浏览器发出删除请求的代码吗?
关于mysql - API 从 MySQL DB 删除行的调用不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57493442/