是否可以强制jQuery对启用了gzip/deflate的URL进行AJAX调用?

前端之家收集整理的这篇文章主要介绍了是否可以强制jQuery对启用了gzip/deflate的URL进行AJAX调用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Web服务,愿意输出gzip / deflated数据。我已经验证了服务将使用原始JSON或使用wget和curl的gzip的JSON进行响应。

我想使用jQuery AJAX调用使用这个Web服务。

默认情况下,jQuery提供的$ .ajax调用不会添加Web接受gzip数据响应所必需的“Accept-Encoding:gzip”HTTP请求头。

但是,当我使用jQuery自己的方法添加标题时,例如:

$.ajax({url: 'http://foo.com/service.json',beforeSend: function(xhr) { 
            console.log('xhr set'); 
            xhr.setRequestHeader('Accept-Encoding','deflate') 
       } 
});

那么浏览器控制台中会出现以下错误信息:

Refused to set unsafe header "Accept-Encoding"

是否可以强制jQuery对启用了gzip / deflate的URL进行AJAX调用

如果没有,这是jQuery中的一个缺点,还是AJAX的一个更根本的东西?

解决方法

浏览器会自动添加accept-encoding标题包括XHR请求。您不需要在DOM / JS级别执行此操作。

猜你在找的jQuery相关文章