我刚刚意识到这一点,我无法相信我之前没有看到这一点。这似乎是常识,我无法相信我是个白痴。
基本上我已经意识到,在我的MEAN Stack应用程序中执行 HTTP POST 请求的任何按钮上双击会产生2个请求和数据重复。< / p>
如何防止重复数据?我想处理这个服务器端,因为它看起来更安全可靠,但任何客户端解决方案也会有所帮助。
我已经阅读过关于SO的问题,其中讨论了使用 GUID 来防止这种情况,但我无法理解它们的含义以及如何实现它。
答案 0 :(得分:0)
创建会话变量特定于用户。
在服务器上,最初创建会话变量: -
req.session.flag = 0
在您的帖子中间件中: -
router.post('/url',function(req,res,next){
if(req.session.flag) res.send({data:'second time accessed'});
else {
req.session.flag = 1;
//your code here
}
})
在用户退出时或根据您的需要销毁会话