Internet Explorer 取消 ajax 请求

Posted

技术标签:

【中文标题】Internet Explorer 取消 ajax 请求【英文标题】:Internet explorer cancels ajax requests 【发布时间】:2019-08-08 20:43:46 【问题描述】:

我通过ajax -jquery 向服务器发出请求,这个请求返回2000多条记录(约16000条记录)

在 google chrome 中执行调用虽然花了大约 40 秒,但在 internet explorer 11 中执行被取消并且控制台中没有显示错误,它根本不会进行调用。

为了减少执行时间,我尝试调用 1500 条记录,在 google chrome 中它运行良好,但在 Internet Explorer 中只进行第一次调用:

mostrar: function() 
  this.loader = true;

  $.ajax(
    contentType: 'application/json;',
    dataType: 'json',
    type: 'POST',
    url: ('Ajax.asp?rad=' + this.radio1 + '&offsetq=' + this.limit),
    data: 1,
    success: function(e) 

      if (app.radio1 == "0")
        app.programas = e.programas;

      if (e.continuar == "1" && app.radio1 == "1") 
        app.limit = e.conteo;
        console.log(app.limit);

        console.log("va a continuar");
        //  app.programas = (e.programas);    

        app.mostrar();
      

      app.loader = false;
    ,
    failure: function(e) 
      console.log(e);
      app.loader = false;
    
  );

我正在使用 vue.js,但我使用 Jquery 进行调用,因为 axios 与 Internet Explorer 11 不兼容,目前此代码适用于 chrome、edge、mozilla firefox。

在 chrome 中,他可以正确拨打电话,而在 Internet Explorer 中,他只拨打电话: https://i.imgur.com/C5wjbBc.png(铬) https://i.imgur.com/Jk4F7Tj.png (Internet Explorer)

【问题讨论】:

查询是立即取消还是在一段时间后取消? 第一次运行,但以后没有,这只发生在Internet Explorer中。 所以只有第一个电话有效?看起来像缓存问题 - 尝试使用 headers: Pragma: "no-cache", "Cache-Control": "no-cache" 我用两张图片更新了出版物,很明显在 chrome 中它可以正确调用,而在 Internet Explorer 中只能调用:i.imgur.com/C5wjbBc.png (chrome) i.imgur.com/Jk4F7Tj.png (Internet Explorer ) 似乎chrome图像被描述为IE,反之亦然。您是否尝试过按照建议设置请求标头? 【参考方案1】:

也许修复contentTypedata 可以解决您的问题。尝试使用该参数执行$.ajax

$.ajax(
  contentType: 'application/json',
  dataType: 'json',
  type: 'POST',
  url: ('Ajax.asp?rad=' + this.radio1 + '&offsetq=' + this.limit),
  data: ,
  ...
);

仅供参考:如果您不需要向服务器发送任何数据,最好使用GET 而不是POST

【讨论】:

以上是关于Internet Explorer 取消 ajax 请求的主要内容,如果未能解决你的问题,请参考以下文章

Internet Explorer 从 ajax 调用中插入选择选项

Internet Explorer 9 AJAX 请求上没有会话 Cookie

在 Internet Explorer 9 中更改域名后,Ajax 停止工作

从 Internet Explorer 中的 AJAX 响应中删除 SCRIPT 标记

Internet Explorer 中的跨域 POST 请求 ajax

Internet Explorer 中的跨域 POST 请求 ajax