Ist es möglich, jQuery zu zwingen, AJAX-Aufrufe für URLs mit aktiviertem gzip / deflate vorzunehmen?

Ich habe ein web-service, der bereit ist, die Ausgabe von gzip/entlüftet Daten. Ich habe überprüft, dass der Dienst antwortet mit rohen JSON oder mit gezippten JSON mittels wget und curl.

Will ich verbrauchen, diese web service mit Hilfe des jQuery-AJAX-call.

Standardmäßig die $.ajax-Aufruf, jQuery bietet nicht fügen Sie die "Accept-Encoding: gzip" HTTP-request-header, die notwendig ist für den web-server zu reagieren, die mit Gzip-komprimierter Daten.

Allerdings, wenn ich die jQuery eigene Methoden zum hinzufügen von header, z.B.:

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

dann die folgende Fehlermeldung erscheint in der browser-Konsole:

Refused to set unsafe header "Accept-Encoding"

Ist es möglich, zu zwingen, jQuery, um AJAX-Aufrufe für URLs mit gzip/deflate aktiviert?

Wenn nicht, ist das ein Manko in jQuery, oder etwas grundlegenderes mit AJAX?

InformationsquelleAutor der Frage Lee | 2010-09-23

Schreibe einen Kommentar