我有一个返回网页数据的 node.js JSONP 服务器。该页面向 Node 服务器发出 AJAX 请求,并返回 JSONP 代码。
这在所有浏览器中都可以正常工作,直到我启用压缩。如果我以 deflate 或 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 没有显示“Content-Encoding: 标头。我认为这可能是正常的,因为我注意到启用压缩并在 IE 中工作的网站存在相同的行为。IBM .com 例如 - Chrome 显示内容编码,IE 没有。
那么IE不支持压缩而其他服务器正在检测它吗?有谁知道为什么 IE 拒绝这些数据?
干杯,
白原子