IE浏览器中的Javascript ajax调用获取访问被拒绝错误

时间:2017-06-07 05:18:27

标签: jquery ajax amazon-web-services internet-explorer internet-explorer-11

我使用以下代码尝试将文件上传到AWS S3服务器:

  function ajaxUpload(fd, file, signedFormData, nameOfFile) {
      var IsCompletedFired = 0;

      $.support.cors = true;
      var jqXHR=$.ajax({

          xhr: function() {   

              //...
          },
          url: "https://s3-ap-southeast-2.amazonaws.com/"+signedFormData.bucket +"/",
          type: "POST",
          crossDomain: true,
          contentType: false,
          processData: false,
          cache: false,
          async: true,
          dataType: false,
          enctype:"multipart/form-data",
          encoding:"multipart/form-data",
          data: fd,
          error: function(xhr, textStatus, errorThrown) {
              console.log('xhr'+ xhr);
              console.log('textStatus'+ textStatus);
              console.log('errorThrown '+errorThrown);
          },
          success: function(data){

          }(signedFormData) // end of success callback
      });  // end of AJAX*/
      uploadAjaxCalls[uploadAjaxCalls.length] = jqXHR;
  }

适用于Chrome,Firefox和Edge。但是对IE11不起作用。我还没有尝试过任何低于11的IE版本。我已经搜索了这个问题并尝试了我能做的一切,但没有一个能为我工作。

所以我尝试过的事情包括:

  1. 在运行ajax调用之前放置1毫秒。我使用下面的代码来调用方法:

    setTimeout(function(){        ajaxUpload(fd,file,signedFormData,nameOfFile);   },1);

  2. 将AWS S3网站和来电者的网站添加到IE的可信站点列表中。
  3. <meta http-equiv="X-UA-Compatible" content="IE=Edge" />添加到网页中。
  4. 但是目前他们还没有为我工作。还有其他想法吗?

0 个答案:

没有答案