同样的一个GET请求:https://gta1.growingio.com/_private/v2/projects/{$projectId}/events
- 当$projectId=OGR443RM 时,Response长度是529K,Preview和Response显示正常:
- 当$projectId=nxog09md 时,Response长度是763K,Preview和Response都显示
Failed to load response data
但是可以通过console正常log出Response:
fetch(`https://gta1.growingio.com/_private/v2/projects/${projectId}/events`,init)
.then(
function(response) {
response.json().then(function(data) {
console.log('fetchAllTags list:',data);
...
});
})
结论:
- 1.设了gizp传输压缩的ajax请求,chrome会对返回的数据长度做限制,如果大于某个数值(600K or 700K ?不确定), 就不显示预览。估计是出于内存性能考虑。
- 2.如果没有设置gzip压缩,就没有问题,因为之前开发测试时,这个接口在服务器端没有设置gzip压缩,length大概在4-5M的数量级,一切正常。
more: https://bugs.chromium.org/p/chromium/issues/detail?id=453078#c59