文章详情页
javascript - 关于ajax请求断网后的问题
浏览:37日期:2023-01-08 14:15:31
问题描述
想问大家个问题,一个ajax请求发送给后台了,后台开始处理了但是给前端返回值的过程中断网了,前端肯定会得到timeout,但是后台已经处理了这个请求,这种情况咋办?我觉得后台不应该处理才对,如果支付宝或者微信支付遇到这样的情况他们肯定不可能说把钱扣了然后前端给出一个断网的提示吧?求知道怎么处理的同行给个策略,谢谢!!
问题解答
回答1:如果按照这种说法,你是不是还要考虑客户电脑突然蓝屏了呢,突然死机了呢。这样算的话这种意外情况就太多了。而且你很难判断客户的情况的
回答2:你需要设计幂等接口。也就是说,一个接口请求一次与请求多次(或短时间内请求多次)效果是一样的。这样倘若客户断网了也没关系,重新请求就好了。
回答3:提交请求告诉用户已提交(在处理中),请求成功后再告诉用户付款成功正常第三方调用支付不是会跳到等待页面吗?里面有一个已经支付的按钮和其他按钮,我觉得就是以防万一没接收到回调,用户可以自己按“已经支付”按钮
回答4:后台返回值意味着后台已经处理完毕了,这时断网就是说客户端的网络断了,和服务器没关系了,至于处理,只能呢个等客户端重新联网以后发送请求查询再把处理完毕的结果给拿回来
标签:
JavaScript
上一条:javascript - Webapp 关闭后重新打开无需登录如何操作?下一条:javascript - html5多个label中其中一个触发change,如何判断是哪一个出发了change
相关文章:
1. docker网络端口映射,没有方便点的操作方法么?2. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!3. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?4. docker api 开发的端口怎么获取?5. docker-machine添加一个已有的docker主机问题6. nignx - docker内nginx 80端口被占用7. javascript - 请问使用gulp image压缩拷贝文件的时候报错events.js:160?是我nodejs版本不对吗?8. spring - java freemarker没有@extends,@block这些指令?9. java - 腾讯云mysql数据库可以插入数据,但是不能查询数据,求解答10. java - 自定义相机的SurfaceView 中由于surfaceChanged()方法多次调用,导致在此方法中设置相机预览图闪烁
排行榜