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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Browser automatisch den accept-encoding-header als angebracht, darunter auf XHR-Anfragen. Sie brauchen nicht zu tun, dass am DOM/JS Ebene.
InformationsquelleAutor der Antwort Dave Ward