微信H5提交,后台收到两次请求? 400 报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

微信H5提交,后台收到两次请求? 400 报错

2020-06-04 13:16:03 315 1

微信H5提交,后台收到两次请求? 400 报错

微信H5form表单提交,后台偶尔会收到两次请求,需要过滤一次请求,如何来实现:

1、加同步锁,但是加锁会大大影响效率,锁是基于对象的锁,很明显在多用户的情况下锁会大大影响效率

2、用memcache缓存记录入参,处理完毕后释放缓存,并写下定时器定时轮训,如果存在相同的入参,进行定时器等待,直到缓存释放才处理

目前就是用第二条来做处理的,但是其逻辑肯定有问题,只能解决绝大部分问题,在不考虑改用ajax的情况下是否有解决方案,应为目前程序数据都是存在Session中,且存在跨域,ajax调用跨域可能存在Session失效

取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-04 14:22:45

    防止重复提交的方法有很多啊,有必要搞的这么麻烦么。。。居然还考虑加锁。。。

    最常见两种方式:

    1.前端控制:点击后,禁掉按钮

    2.后端控制:生成令牌,保存到session,并隐藏在表单,一起提交,后端校验令牌是否有效,有效则通过,无效则回刷页面重新获取新令牌

    ######回复 @一气化三清 : 点击一次,收到两次请求,这怎么可能。。。还是检查一下代码吧######大哥,前台加了防止重复提交代码,感觉是浏览器的问题,用户点击一次后台收到两次请求######

    1、前端控制,要么禁用按钮,要么有个提交状态变量

    2、后端如果需要限制频率,memcache就可以通过设置有效期配合add操作,存在键的时候add会返回false,我一般用这个方式来简单的防止并发提交

    3、一次性令牌

    ######favor.ico  ######

    zepto 用了tap 事件? 以前遇到过这个坑

    ######

    这个是微信浏览器的问题,10s内会提交2次请求

    0 0
相关问答

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 56990浏览量 回答数 19

1

回答

支付宝H5 下载的时候,提示 【请确保该下载文件来源安全,如需浏览,请长按网址复制后使用浏览器访问】

游客ptexzird3doe2 2019-10-14 15:29:54 68766浏览量 回答数 1

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 93766浏览量 回答数 28

65

回答

第一期阿里云高校工作坊申办启动

柚子菌 2017-08-10 17:04:08 43807浏览量 回答数 65

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 47110浏览量 回答数 19

1

回答

H5 直播的疯狂点赞动画是如何实现的?(附完整源码)

剑曼红尘 2020-04-15 19:03:48 35307浏览量 回答数 1

58

回答

技术入门问答集锦,涉及多种技术方向,解决新人学习困惑

管理贝贝 2016-08-03 10:13:27 52749浏览量 回答数 58

13

回答

【云服务器分享】如何节省网站流量

dreamdoo 2012-10-15 10:36:09 80459浏览量 回答数 13

61

回答

阿里云OSS需求汇总帖,有需求请进来说说

enj0y 2012-09-05 08:40:29 41524浏览量 回答数 61

46

回答

H5技术百问——不懂H5你就OUT啦

yq传送门 2017-09-09 11:03:04 47416浏览量 回答数 46
+关注
爱吃鱼的程序员
https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
2
文章
21569
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载