在PHP中压缩JSON响应

时间:2014-11-16 10:20:19

标签: javascript php ajax json

我是一个简单的MVC模型。我正在做一个Ajax请求,我发送一些数据要由PHP处理,并将数据库记录检索为JSON。由于这个对象可能非常大,有什么方法可以在PHP(服务器端)上压缩/加密它并在Javascript端(客户端)解密它

$.ajax({
    url: "/php/function/link/",
    dataType: 'json',
    data: {
            "date": date,
          },
    type: "POST", 
    success: function(_data){
              // load encrypted data here and decrypt it.
          },
    error: function() {
       alert("Some error fetching!");

    }

我尝试使用以下方法,但它们似乎无法正常工作(我在javascript端解压缩时遇到错误):

  1. JSONC
  2. https://stackoverflow.com/a/11901649/1443702
  3. 还有其他更好的方法吗? 我只需要:

    压缩要从客户端传递的javascript数据 - >将其发送到服务器(PHP) - >解压缩并计算数据库查询 - >压缩它 - >将其传递给javascript(客户端) - >解压缩

2 个答案:

答案 0 :(得分:0)

最好的方法是在Web服务器中启用HTTP流量压缩。所有现代浏览器和服务器都支持它。详细了解HTTP_compression。而且您将获得额外的奖励:您的所有流量都将被压缩,而不是仅限AJAX流量。

答案 1 :(得分:0)

对于php - 你可以试试这个:http://rosettacode.org/wiki/LZW_compression#PHP

对于JavaScript - http://rosettacode.org/wiki/LZW_compression#JavaScript

理想情况下,除非用例不可避免,否则应避免发送大型数据集。我建议你重新考虑你的设计。但最近我遇到了类似的用例作为产品需求的一部分,我需要在JavaScript中压缩处理5MB的JSON数据(部分)。我尝试了以上功能,并且能够实现50%的压缩。