使用ajax加载gzipped txt文件在旧版IE中无效

时间:2014-05-21 11:43:57

标签: jquery ajax internet-explorer internet-explorer-8 gzip

我在通过ajax加载页面后加载gzipped txt文件,

这是我的代码,

$(window).load(function(){
  $.ajax({
        url : "http://example.com/something.txt.gz",
        dataType : 'html',
        cache: true,
        success : function(data)
        {  
          data=$.parseJSON(data);
          something=data;
        }
      });
});

并且基于chrome

响应标头

Accept-Ranges:bytes
Access-Control-Allow-Methods:GET
Access-Control-Allow-Origin:*
Access-Control-Max-Age:604800
Content-Encoding:gzip
Content-Length:95595
Content-Type:text/plain
Date:Wed, 21 May 2014 11:32:02 GMT
ETag:"cf999971e6ffcaf92dc5b79a8ffe2570k90bo"
Expires:Wed, 21 May 2014 23:40:18 GMT
Last-Modified:Wed, 21 May 2014 03:40:19 GMT
Server:AmazonS3
Vary:Origin, Access-Control-Request-Headers, Access-Control-Request-Method
x-amz-id-2:FGvjLrghp01FsNxaCI348RsP1BA+b98yjYzkkzpgeJNcz9HIn36CSfWIynkl18tfqNZp
x-amz-request-id:75FD682D733FDA0Ef3D

现在我的问题是, 这在chrome,FF,Safari和IE9 +中都运行良好。

但是在IE8中,gzip压缩无法正常工作,如果我使用PHP发送相同的文件,那么它只能通过ajax工作它不起作用并且解压缩版本的ajax调用也正常工作

任何人都可以帮我解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:1)

最后我发现了这个问题。它不是gzip压缩内容,而是一个跨域问题, IE对gzip压缩内容没有问题

即使我使用子域结构(像amazon s3 ),IE 8也不会支持跨域ajax 请求。 这是我的问题解决方案solution for my problem which I faced