美文网首页
2018-04-17 Ajax接收gzip压缩数据

2018-04-17 Ajax接收gzip压缩数据

作者: 胡諾 | 来源:发表于2018-04-18 13:10 被阅读0次

    前台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);
        }
    

    本文作者:徐晋

    <上一篇 目录 下一篇>

    相关文章

      网友评论

          本文标题:2018-04-17 Ajax接收gzip压缩数据

          本文链接:https://www.haomeiwen.com/subject/wqyvkftx.html