ユーザー要求に対する応答を圧縮できないサーバーを想定します。ウェブデベロッパーはmyfile.txt.gz
を作成し、http://www.mysite.com/myfile.txt.gz
に保存します。ブラウザgunzipを使ってAjaxがgzipされたテキストファイルを取得する方法は?
ブラウザにAjaxリクエストの一部としてこの圧縮されたテキストファイルを自動的にガンズして結果をvar
に保存することは可能ですか?はいの場合、どうですか?
私は必要に応じて他の圧縮アルゴリズムを公開しています。
更新
私は、次のjQueryのAjax呼び出しを使用しようとしています:
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 + " !");
}
});
}
を私は自分のブラウザに以下を得る:
任意のアイデア?
ヘッダーを 'Content-type:text/plain'と' Content-encoding:gzip'に設定すると動作するかもしれません。それはHTMLページがgzipで送られる方法です。おそらく 'Accept-Encoding'ヘッダを最初にチェックするべきです。 –
私は試していますが、うまくいかないようです。運用上のコード例がありますか? – JVerstry
私が提案したすべてのコードはサーバー側にあります。あなたが使用しているサーバーサイドの言語(もしあれば)は何ですか(私はPHPのみ知っています)? JavaScriptの中で特別なことを行う必要はありません。通常のようにAJAX呼び出しを行います。ブラウザがgzipをサポートしていて、サーバが 'Content-encoding'ヘッダを送ると、それは自動的に解凍されます。 –