假设服务器无法压缩对用户请求的响应。然而,Web开发人员会创建myfile.txt.gz
并将其存储在http://www.mysite.com/myfile.txt.gz
。
可以让浏览器自动将此压缩文本文件作为Ajax请求的一部分进行gunzip,并将结果存储在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 + " !");
}
});
}
但我在浏览器中收到以下内容:
有什么想法吗?
答案 0 :(得分:4)
让浏览器用Content-Encoding: gzip解压缩它可能是最好的。如果它不适用于您的场景,javascript中有许多LZW实现,如:https://gist.github.com/revolunet/843889
你可能需要尝试不同的实现,我自己也没有检查过它们。