AJAX无法处理IE和EDGE

时间:2017-10-21 18:28:26

标签: javascript jquery ajax internet-explorer

我在某些方面使用ajax创建了一个应用程序,我发现它并没有在IE和EDGE上工作。 在下面的示例中,我试图从一个html页面生成PDF。 这是我的代码

$(document).ready(function() {
  try {
  var url_string = window.location.href;
  var url = new URL(url_string);
  var token = url.searchParams.get("token");

  if (url_string.includes('/quiz/show_report')) {
    $.ajax({
      cache: false,
      type: "POST",
      url: '/chart.js?token=' + token
    });
  }
 } catch (e) {}
});

在文件上,我正在打电话

$.ajax({
  cache: false,
  type: "POST",
  url: '/download_pdf?token=' + token,
  data: {
    natural_chart: $('#natural-chart').attr('data-image'),
    humanities_chart: $('#humanities-chart').attr('data-image'),
    language_codes_chart: $('#language-codes-chart').attr('data-image'),
    mathematics_technology_chart: $('#mathematics-technology-chart').attr('data-image')
  }
}).success(function(e) {
  window.location = '/download?token=' + token;
});

我尝试过: 使用缓存false 强制即与该元标记的兼容模式:

<meta http-equiv="X-UA-Compatible" content="IE=7" />

那:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" >

以及所有其他兼容的元标记。我也试过那些

<meta content="no-cache" http-equiv="Cache-Control"> <meta content="no-cache" http-equiv="Pragma">

我们将jquery版本更新为更新版本(3.2.1),

任何人都知道我可以做些什么来解决它?

提前谢谢

1 个答案:

答案 0 :(得分:0)

您是否有任何关于它为何无法在EDGE工作的信息?据我所知,EDGE不支持&#34; searchParams&#34;马上。