我是一个简单的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端解压缩时遇到错误):
还有其他更好的方法吗? 我只需要:
压缩要从客户端传递的javascript数据 - >将其发送到服务器(PHP) - >解压缩并计算数据库查询 - >压缩它 - >将其传递给javascript(客户端) - >解压缩
答案 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%的压缩。