我在heroku运行了一个应用程序,前后分开
背面:x1个月1x + x1个月1n1x + x1个月2个月1x
正面:vue
应用程序工作正常,但我有一个随机错误:有时我有重复的记录从前端插入。(我猜错误来自前端)
从前端使用fetch添加记录
const requestOptions = {
method: "POST",
headers: {
"Accept": "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify({
data: data,
...: ...,
}),
};
const response = await fetch(`url_backend_heroku/api/add`, requestOptions);
正确插入记录,但有时会重复插入正确的下一个ID
在某些情况下,fetch是否会发送2个请求?
在本地计算机上部署heroku之前,我从不复制记录
我已经找了好几天了,我不知道为什么会这样
2条答案
按热度按时间qyyhg6bp1#
是的,这是可能的,你正在发送2个请求的地方。把日志在heroku回特定的端点,看看到底发生了什么。同时,从前端请求检查您的网络选项卡中的开发工具,看看你是否真的发射请求两次。因为正如你所说,重复的记录,但他们有正确的ID的,只能意味着你所说的。
此外,这可能是真的,也可能不是真的,但heroku服务器在不活动时休眠,因此可能会导致问题,但我不完全确定,将不得不检查代码和环境。
jvlzgdj92#
查看heroku(背面)日志,看起来像是正常插入了2条记录
查看浏览器中的网络选项卡,只显示1个请求:选件(204)和立柱(200)
该表的ID是主键没有什么复杂的
另一方面,我在一个Dynos爱好计划,没有睡眠时间(如果免费的)
在此放置部分或后端
database.js
controller.js
这可能是一个获取问题吗?例如,不要尝试使用axios