【发布时间】:2021-06-11 11:02:33
【问题描述】:
我正在尝试使用 Axios 更新 MySQL 数据库。我的问题是数据更新成功,但 axios 回调不起作用。而发布,删除和回调工作完美。下面是我的代码:
前端代码:
UpdateTeacher = (id) =>{
const editedata = {
id: id,
fname: this.state.fname,
lname: this.state.lname,
roles: this.state.roles,
join_date: this.state.join_date,
email: this.state.email,
assign_subject: this.state.assign_subject
};
axios.put(`http://localhost:3001/edit/${id}`, editedata)
.then((res) => {
// I cant get any console.log neither any state set here
this.setState({
success: "Update data Successfully!",
type:"success",
isEdit:false
});
console.log(res.data.json);
}).catch((err) => {
console.log(err);
this.setState({
error: "Error! Please try again later!",
type:"error"
});
})
}
后端代码:
app.put("/edit/:id", (req, res) => {
const {id } = req.params.id;
const fname = req.body.fname;
const lname = req.body.lname;
const roles = req.body.roles;
const joining = req.body.join_date;
const email = req.body.email;
const assign_subject = req.body.assign_subject;
var updateData = req.body;
console.log(updateData);
db.query(`UPDATE teacher SET fname=?, lname=?, roles=?, join_date=?, email=?, assign_subject=? WHERE id=?`,[fname, lname, roles,joining,email,assign_subject, req.params.id]),(err,result)=>{
if (err) return console.error(err.message);
res.status(200).send(results);
console.log("Updated Row(s):", results.affectedRows);
}
});
【问题讨论】:
标签: node.js reactjs express axios response