我正在尝试进行POST请求,该请求将插入到数据库的表中并返回创建的ID。在数据库中创建记录后,请求似乎已被处理。问题是我无法将值返回到前端,并且在“网络”标签中,我看到请求的状态为(已取消)。 我的其他请求是也与数据库交互的GET请求,它们都正常进行。 后端是Express,前端是React,数据库是MySQL。
我尝试了以下操作: -检查问题是否与CORS有关。 -尝试了使用Axios以外的其他方式。 -尝试直接使用curl发出请求,这确实有效。
快递:
router.post('/search', function (req, res) {
pool.query("INSERT INTO Searches(status) VALUES('Started')"
, function (err, result) {
if (err) throw err;
console.log("return result");
console.log("insertId: " + result.insertId);
let insertId = result.insertId;
res.json(insertId);
console.log("end of insert");
});
反应:
handleSubmit() {
console.log("handleSubmit");
axios.post('http://localhost:3000/search', {test: "test"})
.then(res => {
console.log(res);
console.log(res.data)
});
}
我确实在后端的控制台日志中看到了insertId,但是我没有在前端获得该值。
在“网络”标签中,我看到首先发出了一个OPTION请求(状态为204),然后是POST请求,该请求获得了状态(已取消)
我不知道为什么请求被取消并且我无法在React中获取值。关于如何解决这个问题有什么想法吗?