前台ajax接收经过gzip压缩后的数据时,需要接收到返回数据进入success的function并进行解压进而处理数据。
但是,由于返回数据乱码无法识别数据类型,ajax直接跳入error的function。
解决方法:
首先,ajax的dataType设置为text,即可进入success:
其次,对数据进行解压缩,压缩方法如下:
搞定,整体如下:
附上解压缩代码:
function unzip(str){
// Convert binary string to character-number array
var charData = str.split('').map(function(x){return x.charCodeAt(0);});
// Turn number array into byte-array
var binData = new Uint8Array(charData);
// // unzip
var data = pako.inflate(binData);
// Convert gunzipped byteArray back to ascii string:
strData = String.fromCharCode.apply(null, new Uint16Array(data));
return $.parseJSON(strData);
}
本文作者:徐晋
<上一篇 | 目录 | 下一篇> |
---|
网友评论