【发布时间】:2019-08-02 22:15:54
【问题描述】:
创建DELETE 函数。
我正在删除基于其recipe_id、唯一indicator 的配方。
我注意到的问题,每当我将请求 handleDelete 发送到我的 backend 时,recipe_id 是 空 - 当然这意味着我将无法 delete食谱。
我尝试了loggin 各种各样的东西,以了解我做错了什么以及哪里出错了。到目前为止还没有找到任何东西。
Profile.js__
handleDelete(recipe) {
const jwt = localStorage.getItem("jwt");
axios({
method: "delete",
data: {
recipe_id: this.state.recipe_id
},
url: "http://localhost:4000/api/recipe",
headers: {
Authorization: "Bearer " + jwt
}
})
.then(response => {
this.setState({ recipe: response.data.recipe });
})
.catch((error, res) => {
if (error.response.status === 401) {
console.log("Error:", error);
}
});
}
api/index.js__
api.delete('/recipe', passport.authenticate('jwt', {session: false}), (req, res) => {
const recipe_id = req.body.recipe_id
db.query('DELETE FROM recipes WHERE recipe_id = ?',
[req.body.recipe_id], (err, results) => {
if (err) {
console.log("Err:", err)
res.status(500)
return;
}
db.query('SELECT * FROM recipes', (err, rows) => {
if (err) {
res.status(500)
return;
}
res.json({recipes: rows});
})
})
});
是的,缩进很烂,复制粘贴的错。
所有相关代码都可以在这里找到:https://gist.github.com/MisterSemaan/07d7cf52b0069d2ea89b29f608c2b976
【问题讨论】:
标签: node.js reactjs express axios