Angenommen, ein Server kann Antworten auf Benutzeranforderungen nicht komprimieren. Ein Webentwickler erstellt dennoch eine myfile.txt.gz
und speichert sie unter http://www.mysite.com/myfile.txt.gz
.Wie ein Browser Gunzip eine Ajax holte Gziped Textdatei?
Es ist möglich, dass der Browser diese komprimierte Textdatei automatisch als Teil der Ajax-Anfrage öffnet und das Ergebnis in einer var
speichert? Wenn ja, wie?
Ich bin offen für andere Kompressionsalgorithmen, wenn nötig.
aktualisiert
Ich versuche, den folgenden JQuery Ajax-Aufruf zu verwenden:
var fetch = function() {
$.ajax({
type: 'GET',
url: "./data.txt.gz",
headers: { "Accept-Encoding" : "gzip" },
dataType: "text",
async: true,
success: function(result) {
$("#midEnglob").text(result);
},
error: function(jqXHR, textStatus, errorThrown) {
alert("Issue: "
+ textStatus + " "
+ errorThrown + " !");
}
});
}
aber ich habe folgend in meinem Browser: Irgendwelche Ideen
?
Ich bin mir nicht sicher, aber wenn Sie die Header auf 'Content-type: text/plain' und' Content-encoding: gzip' setzen, könnte es funktionieren. So werden HTML-Seiten mit einem ZIP-Code versendet. Sie sollten wahrscheinlich zuerst den 'Accept-Encoding'-Header überprüfen. –
Ich versuche es, aber es scheint nicht zu funktionieren. Haben Sie ein Beispiel für einen Betriebscode? – JVerstry
Der gesamte Code, den ich vorgeschlagen habe, wäre auf der Serverseite. Welche serverseitige Sprache (falls überhaupt) benutzt du (ich kenne nur PHP)? Sie sollten nichts spezielles in JavaScript tun müssen, machen Sie einfach einen AJAX-Anruf, wie Sie es normalerweise tun würden. Wenn der Browser gzip unterstützt und der Server den Header "Content-encoding" sendet, wird er automatisch entpackt. –