我正在使用axios将mysql db与vue前端连接,并且差不多完成了。但是问题是this。$ http.delete()根本不起作用。我查了一下,但是那些解决方案没用。 (将其包装{data:book_no}或{params:book_no})。但是似乎当我请求(仅用于删除)数据(req.body.book_no获取未定义的数据。这就是我添加的原因)时,无论如何我都需要将它包装为vue组件中的对象,因此我尝试了几种不同的格式,但是它仅返回500内部服务器错误。这使得“什么?因为几乎其他格式的其他功能(CRU)都能正常工作。
请帮助我这个this。$ http.delete方法!
前端vue组件:
btnDelete(book) {
// console.log(book_no);
let book_no = book.book_no;
if (confirm(book_no + " 를 삭제하시겠습니까?")) {
this.$http
.delete("/api/books/delbook",{
book: {
book_no
}
})
.then(res => {
console.log(res.data);
})
.catch(err => console.log(err));
} else {
return;
}
后端Books.js删除部分
router.delete('/delbook',function (req,res) {
console.log(123)
let bookNo = req.body.book.book_no
console.log(bookNo)
let bookObj = {
'book_no': bookNo
}
console.log(bookObj)
let sql = `DELETE FROM books WHERE book_no = ${bookNo}`
console.log(6666)
db.query(sql,bookObj,function (err,result) {
if (err) throw err;
console.log(err)
console.log(result)
console.log(3234234)
res.send(result)
})
})
错误(我唯一遇到的错误):
删除http://localhost:8080/api/books/delbook 500(内部服务器错误)