javascript - jquery ajax 内部循环返回 statusText 错误,在 IE 中一定时间后状态为 0

标签 javascript jquery json ajax

我正在尝试使用 Jquery ajax 逐一更新大量数据,以便我可以显示更新进度。一开始一切都很顺利,但 5 分钟后,它会抛出一个错误,如下所示 检查网络请求/响应时的图像:.

network error

ajax错误函数出错:.

enter image description here

MainData是json对象数组,包含大约3000个json对象。

function DoPost()
   {
       $.each(MainData, function (key, value) {
          var mainCode = value.MainCode;
          var companyCode = value.CompanyCode;
          $.ajax({
              url: "Allotment.asmx/DoAllotment",
              data: "{MainCode:'" + mainCode + "', sNoOfAllotment:'" + noOfAllot + "',CompanyCode:'" + companyCode + "'}",
              dataType: 'text',
              contentType: "application/json; charset=utf-8",
              type: "Post",
              success: function (res){
                   Progress(res);   // this funtion will show progress of update.
               },
               error: function (res) {
                   console.log(res);
               }
           });
       });
    }

我正在使用asp.net webform的网络服务

最佳答案

问题可能是同一 URL 的最大并发连接数。您可以在当前 $.ajax() 完成时安排下一个 $.ajax() 调用。

另请参阅multiple, sequential fetch() Promise

function DoPost(value) {
  var mainCode = value.MainCode;
  var companyCode = value.CompanyCode;
  return $.ajax({
    url: "Allotment.asmx/DoAllotment",
    data: "{MainCode:'" + mainCode + "', sNoOfAllotment:'" 
           + noOfAllot + "',CompanyCode:'" + companyCode + "'}",
    dataType: 'text',
    contentType: "application/json; charset=utf-8",
    type: "POST",
    success: function(res) {
      Progress(res); // this funtion will show progress of update.
    },
    error: function(res) {
      console.log(res);
    }
  });
}

var copy = MainData.slice(0);
var res = (function re(value) {
  return DoPost(value).then(function() {
    return copy.length ? re(copy.shift()) : "complete"
  })
})(copy.shift());

res.then(function(complete) {
  console.log(complete)
}, function(err, textStatus, jqxhr) {
  console.log(err)
});

关于javascript - jquery ajax 内部循环返回 statusText 错误,在 IE 中一定时间后状态为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42219919/

相关文章:

android - Retrofit 2-如何从复杂的JSON中获取数据

javascript - Puppeteer 登录 Instagram

javascript - 接受用户输入来创建唯一的对象

javascript - 点击完成后调用函数

jquery - Plotly 绘图无法在模态内自动缩放

javascript - JavaScript 如何保存到本地文件?

javascript - 如何避免 Firebase Web 教程中的箭头功能

javascript - 转换 CSS :active to Javascript . onclick

php - Ajax 在 laravel 上返回整个 HTML 文档

php - 如何使用php从json中的两个mysql表中获取数据