Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为node.js服务器gzip http请求post(客户端)数据_Node.js_Http_Gzip - Fatal编程技术网

如何为node.js服务器gzip http请求post(客户端)数据

如何为node.js服务器gzip http请求post(客户端)数据,node.js,http,gzip,Node.js,Http,Gzip,我已经实现了node.js服务器应用程序,它接受来自客户端的post数据(长json字符串)。有没有一种方法可以在浏览器端gzip post数据并在node.js中解压 我特别想gzip请求而不是响应。您可以尝试以下方法: 客户机代码示例: <script src="jsonpack.js" /> <script> var BIG_JSON = {.....}; var packed = jsonpack.pack(BIG_JSON); $.post('path_t

我已经实现了node.js服务器应用程序,它接受来自客户端的post数据(长json字符串)。有没有一种方法可以在浏览器端gzip post数据并在node.js中解压

我特别想gzip请求而不是响应。

您可以尝试以下方法:

客户机代码示例:

<script src="jsonpack.js" />
<script>
 var BIG_JSON = {.....};
 var packed = jsonpack.pack(BIG_JSON);
 $.post('path_to_server',packed);
</script>
这是一个示例代码,当然我不知道您使用的是什么框架或库,但您可以看到这是如何实现的。 无论如何,要小心这一点,因为压缩和解压数据总是一项占用cpu的繁重任务。如果你有几兆字节的数据,你不想让你的用户使用手机、平板电脑等。。为了完成这个任务

检查 在获得base64编码的请求字符串后,在nodejs中进行解压缩

var jsonStr=JSON.stringify({
姓名:“江伊德”
})
$('#origin').text(jsonStr);
var zip=newjszip();
zip.file(“数据”,jsonStr);
var content=zip.generate();
$(“#压缩”)。文本(内容);
zip=newjszip(内容,{base64:true});
$(“#解压缩”).text(zip.file(“data”).asText())


如何在node.js解压?此外,jszip是用于压缩文件的,我想压缩post数据(JSON字符串,而不是文件)nodejs解压:当尝试JSFIDLE时,我得到了MIME类型text/plain的跨源读取阻塞(CORB)阻塞跨源响应。有关更多详细信息,请参阅。您能提供一个固定的JSFIDLE示例吗?谢谢谢谢我修复了一点,就像您的示例中一样-解码的div中没有显示任何内容-是的,base64应该是压缩异步加载的选项。更新。
var jsonpack = require('jsonpack/main');
app.on('/packed_data',function(req,res){
  try{
     jsonpack.unpack(req.data);
  }catch(e){
   //not good packed data. 
 }

})