success - jquery ajax post
¿Es posible forzar a jQuery a hacer llamadas AJAX para URL con gzip/deflate habilitado? (1)
Los navegadores agregan automáticamente el encabezado de codificación de aceptación según corresponda, incluso en las solicitudes de XHR. No necesita hacer eso en el nivel DOM / JS.
Tengo un servicio web que está dispuesto a generar datos gzip / deflated. He verificado que el servicio responderá con JSON sin procesar o con gzip''d JSON con wget y curl.
Deseo consumir este servicio web usando la llamada jQuery AJAX.
De forma predeterminada, la llamada $ .ajax que proporciona jQuery no agrega el encabezado de solicitud HTTP "Accept-Encoding: gzip" que es necesario para que el servidor web responda con datos comprimidos.
Sin embargo, cuando uso los propios métodos de jQuery para agregar el encabezado, por ejemplo:
$.ajax({url: ''http://foo.com/service.json'',
beforeSend: function(xhr) {
console.log(''xhr set'');
xhr.setRequestHeader(''Accept-Encoding'', ''deflate'')
}
});
luego aparece el siguiente error en la consola del navegador:
Refused to set unsafe header "Accept-Encoding"
¿Es posible forzar a jQuery a hacer llamadas AJAX para URL con gzip / deflate habilitado?
Si no, ¿es esto un defecto en jQuery, o algo más fundamental con AJAX?