我正在使用Google Chrome,Safari和Firefox中的XMLHttpRequest加载JSON文件.我收到ProgressEvent的所有三个浏览器都正确显示了该.loaded属性.但是该.lengthComputable属性为false且.total属性为零.我已经检查过Content-LengthHTTP标头是否正在发送并且是正确的 - 它是.响应是gzip编码的,但Content-length正确显示编码长度(在解压缩之前).
为什么我的ProgressEvents中总长度不可用?
以下是标题:
HTTP/1.1 200 OK
ETag: "hKXdZA"
Date: Wed, 20 Jun 2012 20:17:17 GMT
Expires: Wed, 20 Jun 2012 20:17:17 GMT
Cache-Control: private, max-age=3600
X-AppEngine-Estimated-CPM-US-Dollars: $0.000108
X-AppEngine-Resource-Usage: ms=2 cpu_ms=0 api_cpu_ms=0
Content-Type: application/json
Content-Encoding: gzip
Server: Google Frontend
Content-Length: 621606
Run Code Online (Sandbox Code Playgroud)
注意:该文件通过Google App Engine提供.
这是JavaScript:
var req;
if (window.XMLHttpRequest){
req = new XMLHttpRequest();
if(req.overrideMimeType){
req.overrideMimeType( "text/json" );
}
}else{
req = new ActiveXObject('Microsoft.XMLHTTP');
} …Run Code Online (Sandbox Code Playgroud)