文章详情页
javascript - 关于ajax请求断网后的问题
浏览:62日期:2023-01-08 14:15:31
问题描述
想问大家个问题,一个ajax请求发送给后台了,后台开始处理了但是给前端返回值的过程中断网了,前端肯定会得到timeout,但是后台已经处理了这个请求,这种情况咋办?我觉得后台不应该处理才对,如果支付宝或者微信支付遇到这样的情况他们肯定不可能说把钱扣了然后前端给出一个断网的提示吧?求知道怎么处理的同行给个策略,谢谢!!
问题解答
回答1:如果按照这种说法,你是不是还要考虑客户电脑突然蓝屏了呢,突然死机了呢。这样算的话这种意外情况就太多了。而且你很难判断客户的情况的
回答2:你需要设计幂等接口。也就是说,一个接口请求一次与请求多次(或短时间内请求多次)效果是一样的。这样倘若客户断网了也没关系,重新请求就好了。
回答3:提交请求告诉用户已提交(在处理中),请求成功后再告诉用户付款成功正常第三方调用支付不是会跳到等待页面吗?里面有一个已经支付的按钮和其他按钮,我觉得就是以防万一没接收到回调,用户可以自己按“已经支付”按钮
回答4:后台返回值意味着后台已经处理完毕了,这时断网就是说客户端的网络断了,和服务器没关系了,至于处理,只能呢个等客户端重新联网以后发送请求查询再把处理完毕的结果给拿回来
标签:
JavaScript
上一条:javascript - Webapp 关闭后重新打开无需登录如何操作?下一条:javascript - html5多个label中其中一个触发change,如何判断是哪一个出发了change
相关文章:
1. docker gitlab 如何git clone?2. 网页爬虫 - Python:爬虫的中文编码问题?3. javascript - 修改表单多选项时和后台同事配合的问题。4. ubuntu 远程管理KVM设置问题5. javascript - vue生成一维码?求助!!!!!急6. css - 手机页面在安卓和苹果浏览器显示不同的小小问题7. javascript - 关于Js中 this的一道题8. angular.js - angularjs如何动态改变ng-model值,在controller中获取input中输入的值并组合post发送到后台9. javascript - H5页面怎么查看console信息?10. browsersync检测的静态页面只能用index.html命名,用demo.html就不能实时同步,检测动态页面的时候,比如wamp环境下,用browsersync能打开页面,但不能实现同步
排行榜
