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

标签 jquery ajax http compression jsonp

我遇到了这样一种情况:我需要发出 JSONP Ajax GET 请求(跨域),并且我需要发送长度超过 2000 个字符的文档作为参数。

由于各种原因,我无法将它从 JSONP 更改为普通请求,而且我无法在服务器端维护状态以将请求拆分为多个。

考虑到这些限制,有没有办法以某种方式在 Javascript 中压缩长文本,以便我可以将其放入 2000 GET 限制大小内?我还需要知道是否可以在服务器端轻松解压缩它?

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

最佳答案

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

jQuery.post( url, [data], [callback], [type] )

其中数据可以是 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
}

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

关于jquery - 如何压缩 Javascript 中的 GET 参数以避免达到浏览器大小限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10335189/

相关文章:

http - 如何为 Rocket.rs 设置 CORS 或 OPTIONS

javascript - 将每个函数与 getJSON 一起使用内部文件

javascript - 使用单击图像映射更改设置为背景的 Sprite 图像的位置

javascript - 如何防止javascript堆栈溢出?

javascript - 取消选择内容可编辑元素

javascript - 使用 Ajax 的地下气象 API

android - 使用 NSURLSession 将 Android post 请求转换为 iOS swift

http - Tomcat 5.5 中的永久 301 重定向

javascript - 浏览器如何知道加载进度?

jquery - 如何使用 AJAX 将字符串传递给 Controller