Php 请求URI太大

Php 请求URI太大,php,get,request,capacity,Php,Get,Request,Capacity,在一个大的$\u GET查询中出现此错误,查询大小约为9000个符号(它们被分成约10个变量) 这个问题的解决方法是什么?一个URI实际上有一个字符限制,这取决于几个方面。你可以在 如果您也是开发服务器的人,一种解决方法是使用POST而不是GET。如果您希望在不更改服务器配置的情况下使用GET传递所有这些信息,则没有解决方法 其他解决办法: 将POST用于表单(或隐藏表单,并在提交表单的链接处添加onclick事件) 使用会话。当服务器生成链接时,使用唯一id(或RID,可以是完整URI

在一个大的
$\u GET
查询中出现此错误,查询大小约为9000个符号(它们被分成约10个变量)


这个问题的解决方法是什么?

一个URI实际上有一个字符限制,这取决于几个方面。你可以在


如果您也是开发服务器的人,一种解决方法是使用POST而不是GET。

如果您希望在不更改服务器配置的情况下使用GET传递所有这些信息,则没有解决方法

其他解决办法:

  • 将POST用于表单(或隐藏表单,并在提交表单的链接处添加onclick事件)
  • 使用会话。当服务器生成链接时,使用唯一id(或RID,可以是完整URI的md5)将其存储在$\u会话中,并通过GET传递
  • 使用数据库或文件存储(使用与会话相同的过程)
这对我很有效(它需要formData支持):


//荷载形式
var formData=new formData();
formData.append(“参数名称1”、“参数内容1”);
formData.append(“参数名称2”、“参数内容2”);
formData.append(“参数名称”、“参数内容”);
//通过AJAX发送表单
var xhr=new XMLHttpRequest();
打开(“POST”,你的URL);
xhr.send(formData);

为什么有这么长的URL?请尝试降低URI大小。我从来没有超过200个字符,这是一个很大的进步。你不需要超过9000人!!!!字符…“这个问题的解决方法是什么?”缩短URL如果需要将那么多数据从客户端传递到服务器,解决方法是将其放在表单post中,而不是放在查询字符串中。或者可能在请求体中(不太常用)。请参见:我认为,通过这种方式,您可以在将来解决这个问题,因为url在压缩时也会太大。如果需要通过get传递太多信息,最好更改逻辑。(我的2美分)这只是一个相关的问题,如果你阅读了那里被接受的答案,你甚至可以看到这不是那么多的未来,而是已经在过去了。
Request-URI Too Large

The requested URL's length exceeds the capacity limit for this server.
<script>
  //Load form
  var formData = new FormData();
  formData.append("param_name1", "param_content1");
  formData.append("param_name2", "param_content2"); 
  formData.append("param_nameN", "param_contentN"); 

  //Send form via AJAX
  var xhr = new XMLHttpRequest();
  xhr.open("POST", YOUR_URL);  
  xhr.send(formData);
</script>