我实现了node.js服务器应用程序,它接受来自客户端的post数据(长json字符串)。有没有办法在浏览器端对post数据进行gzip并将其解压缩到node.js中?
我特别想gzip请求而不是响应。

最佳答案

你可以试试这个:https://github.com/sapienlab/jsonpack
示例客户端代码:

<script src="jsonpack.js" />
<script>
 var BIG_JSON = {.....};
 var packed = jsonpack.pack(BIG_JSON);
 $.post('path_to_server',packed);
</script>

nodejs代码示例:
var jsonpack = require('jsonpack/main');
app.on('/packed_data',function(req,res){
  try{
     jsonpack.unpack(req.data);
  }catch(e){
   //not good packed data.
 }

})

这是一个示例代码,当然我不知道您使用什么框架或库,但是您可以看到如何实现它。
无论如何,要小心这一点,因为压缩和解压缩数据总是一个沉重的CPU限制的任务。如果你有几兆字节的数据,你不想让你的用户从手机,平板电脑等。来完成这个任务!

关于node.js - 如何为node.js服务器gzip http请求发布(客户端)数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30592031/

10-10 14:50