ajax请求遇到服务器重启或中断

常会有不断轮询发送ajax请求,处理一些业务的场景。

要考虑到:

1. 服务器重启,中断,恢复后仍然能恢复正常业务处理。

    服务器重启过程中,再次发送请求,请求状态将变为net::ERR_CONNECTION_REFUSED,ajax依然会执行到success逻辑层,拿到的响应是null。

    想当然的认为ajax会执行到error逻辑层是不正确的,因此写代码的时候要格外注意这一点。

 1 var progress_polling_ajax = function () {
 2     var time_interval = 3000;
 3 
 4     jQuery.ajax({
 5         url: "/system/ajax_get_progress/",
 6         method: "POST"
 7         dataType: "json",
 8         success: function (data) {
 9             try {
10                 if (data) {
11                     //业务处理
12                 } else {
13                     setTimeout(progress_polling_ajax, time_interval);
14                 }
15 
16             } catch (e) {
17                 setTimeout(progress_polling_ajax, time_interval);
18             }
19         },
20         error: {
21             setTimeout(progress_polling_ajax, time_interval);
22         }
23 
24     });
25 
26 };

 

转载于:https://www.cnblogs.com/zhouwenhong/p/4105240.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值