小编Gil*_*nne的帖子

使用 Angular 的 http get 方法时,浏览器端不会自动解压 gzipped json

我正在尝试使用 Angular (v1.2.6) 加载 json 文件:

$http.get('myfile.json').success(function(data) { ... }
Run Code Online (Sandbox Code Playgroud)

这工作正常,除非我在服务器上创建文件的(静态)压缩版本,并尝试加载“myfile.json.gz”(以减少加载时间)。

请求标头似乎正确(Mac 上的 Chrome 31.0)(如此处此处所述):

Accept: application/json, text/plain, */*
Accept-Encoding: gzip,deflate,sdch
Run Code Online (Sandbox Code Playgroud)

而响应标头包含:

Connection: close
Accept-Ranges: bytes
Content-Length: 702468
Content-Type: application/x-gzip
Content-Encoding: gzip
Run Code Online (Sandbox Code Playgroud)

但是,内容不会由客户端浏览器自动解压缩,据我了解应该是这样data.length是 ~700Kb 而不是原始未压缩的 ~3Mb。

尽管这篇文章建议它需要手动完成,但我理解减压应该是自动且透明的。

我的问题是,它应该自动解压吗?为什么这里不是这样呢?

javascript json gzip angularjs

5
推荐指数
1
解决办法
8763
查看次数

标签 统计

angularjs ×1

gzip ×1

javascript ×1

json ×1