具体情况表现为UC浏览器清空缓存 前端一次请求导致超时,后端连续三次充值。
- 发布:2021-01-27 09:23
- 更新:2021-01-27 17:43
- 阅读:539
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.0.5
浏览器平台: UC浏览器
浏览器版本: UCBrowser/13.2.1.1101
项目创建方式: HBuilderX
操作步骤:
预期结果:
只充值一次
只充值一次
实际结果:
后端提交多次
后端提交多次
bug描述:
再未打包前,用UC的开发者浏览器打开开发者模式查看,清空缓存再访问项目点充值,接口可以正常返回(大概30秒的时间)。。但是用hbuilderX打包后,清空缓存的情况下,本来30秒应该返回的接口没有返回,而是后端nginx日志看到连续三次请求。使用其他浏览器、或者是接口提交均未发现这样的情况,后端nginx关闭重试也无效,只要有缓存后后面就没有这样的问题。再试实验后,nginx升级至最新版无效、移除反向代理无效、luch-request改用axios无效、
1 个回复
jianfeidao (作者)
根据nginx日志查看结果应为UC浏览器走了自己的代理,再post请求长时间没返回后,又重新进行发起请求。经过测试10秒内返会不会出问题,超过一定的时间会导致UC这边重发请求,这样前端只支付了一次,后端这边却支付了三次问题就产生了。
再UC缓存网站后就不会再走代理,自然就没问题了