У меня есть веб-служба, которая может выводить данные в формате gzip / deflated. Я проверил, что служба ответит необработанным JSON или gzip-JSON с использованием wget и curl.
Я хочу использовать эту веб-службу с помощью вызова jQuery AJAX.
По умолчанию вызов $ .ajax, предоставляемый jQuery, не добавляет заголовок HTTP-запроса Accept-Encoding: gzip, необходимый для веб-сервера для ответа сжатыми данными.
Однако, когда я использую собственные методы 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 выполнять вызовы AJAX для URL-адресов с включенным gzip / deflate?
Если нет, то это недостаток jQuery или что-то более фундаментальное с AJAX?