IE 9 不接受压缩的 AJAX 数据



我有一个节点.js JSONP 服务器,它正在返回网页的数据。该页面向 Node 服务器发出 AJAX 请求,并获取 JSONP 代码。

这在所有浏览器中都能完美运行,直到我启用压缩。如果我以放气或 gzip 压缩返回 AJAX 响应,它适用于除 IE 9 以外的所有人;不会解码文件。IE只是显示一个空白的主体返回,没有错误,控制台上没有输出。

我已经确保请求通过并将正确的数据返回给IE客户端,IE只是不接受它。以下是发送到所有客户端的响应标头:

 Access-Control-Allow-Origin:*
 Connection:keep-alive
 Content-Encoding:deflate
 Content-Length:31203
 Content-Type:application/javascript; charset=UTF-8
 X-Content-Type-Options:nosniff

我应该补充 - 这些标题出现在其他浏览器中,但 IE 没有显示"内容编码:标题。我认为这可能是正常的,因为我注意到启用了压缩并在IE中工作的网站也有相同的行为。IBM.com 例如 - Chrome显示内容编码,IE不显示。

那么IE不支持压缩,其他服务器正在检测它吗?有谁知道为什么IE拒绝这些数据?

干杯

白原子

Apache可以设置为嗅探IE并使用HTTP 1.0而不是HTTP 1.1。如果站点使用的是 HTTPS,IIS 将不允许压缩。相关问题也可能有所帮助。

最新更新