uso success llamada hacer error ejemplos ejemplo data jquery ajax web-services gzip deflate

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?