我有一个愿意输出 gzip/放气数据的网络服务。我已经验证该服务将使用原始 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 更基本的缺点?