如何在Javascript中压缩GET参数以避免达到浏览器大小限制?

Rav*_*dev 6 compression ajax jquery jsonp http

我已经陷入了这样一种情况:我需要发出JSONP Ajax GET请求(跨域),我需要发送一个长度为2000个字符的文档作为参数.

由于各种原因,我无法将其从JSONP更改为正常请求,并且我无法维护服务器端的状态以将请求拆分为多个.

鉴于这些限制,有没有办法在Javascript中以某种方式压缩长文本,所以我可以在2000 GET限制大小内适应它?我还需要知道我是否可以在服务器端轻松解压缩它?

因为它是一个GET请求,它只能作为文本发送,所以二进制压缩可能无法实现?

小智 2

切换到 POST 原始数据并使用 JSON 或 XML 通过请求保存和发送大型结构。
如果你使用 JQuery 例如你有

jQuery.post( url, [data], [callback], [type] )
Run Code Online (Sandbox Code Playgroud)

其中数据可以是 xmlDoc、jsonObj、html、文本等...

除了数据之外,您还可以使用以下内容:

$.post("path/to/my/file.php", { func: "yourFunctionName" },
  function(data_returned_from_backend_json){
    //use data_returned_from_backend_json.properties
  }
, "json");

function yourFunctionName()
{
   //save all GET params into a json structure
}
Run Code Online (Sandbox Code Playgroud)

来源: http: //docs.jquery.com/Post