是否可以将javascript中的文本缩短为php get请求?

是否可以将javascript中的文本缩短为php get请求?,javascript,php,text,encode,Javascript,Php,Text,Encode,我有一个非常特殊的情况,一个javascript页面创建了一个新窗口,其中包含一个元刷新,它进入一个php页面,该页面有一个变量,其中包含javascript页面放入的所有内容。像这样: form.write(“”) php页面如下所示: $data=$\u GET['data'] $order=htmlentities(stripslashes(strip_标记($order)) 问题是一个现有的应用程序有这个问题,我不在适当的情况下解决它,所以我想知道是否有一些方法来加密/编码数据变量,以便

我有一个非常特殊的情况,一个javascript页面创建了一个新窗口,其中包含一个元刷新,它进入一个php页面,该页面有一个变量,其中包含javascript页面放入的所有内容。像这样:

form.write(“”)

php页面如下所示:

$data=$\u GET['data']
$order=htmlentities(stripslashes(strip_标记($order))


问题是一个现有的应用程序有这个问题,我不在适当的情况下解决它,所以我想知道是否有一些方法来加密/编码数据变量,以便它会短得多。(我的apache服务器不喜欢82512个字符长的url…)就像tinyurl一样,但PHP必须能够将其解码回来。我不知道该用什么词,所以我的谷歌搜索没有给我很多结果。

这个词应该是压缩,但在这种情况下也不起作用-一般的URL长度限制是2000个字符,因为IE将其设置得太低,如果你的数据很难压缩,你就无法将3kb可靠地放入2kb中

如果您不能在PHP会话中存储数据,唯一想到的想法就是使用Ajax POST请求“提前发送数据”。它可以承载超过3KB的数据。发送请求后,重定向到下一页,让PHP从会话或其他地方获取传输的数据

这并不漂亮,但这是我想到的关于这个非常具体的场景的唯一想法

另一个想法是,尽管这是纯客户端的,所以不能传递URL,但它将数据存储在浏览器端

参考:


    • URL缩短服务保存哈希URL对,并将短URL重定向到长URL。这不适用于您的情况,因为您的数据URL部分是动态的

      您可以采取的一种方法是将所有数据放在一个cookie中,并让PHP脚本从该cookie中读取数据。另一种选择是将您的请求发布到PHP脚本,但这一种可能不适用

      还要注意,加密、编码和压缩之间存在差异。你要求的不是加密或编码,而是压缩

      问候,,
      Alin压缩是我一直在寻找的术语。我重新构建了javascript函数,用Pekka发送的链接发布了一篇文章。现在,这项技术可以处理奇怪的长查询

      谢谢

      这是我使用的代码:

      document.body.innerHTML+=''
      document.getElementById(“dynForm”).submit()