10

在大小约为 9 000 个符号的大$_GET查询中出现此错误(它们分为 ~10 个变量)。

Request-URI Too Large

The requested URL's length exceeds the capacity limit for this server.

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

4

3 回答 3

8

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

其他解决方案:

  • 将 POST 与表单一起使用(或隐藏表单并在提交它的链接上添加 onclick 事件)
  • 使用会话。当服务器生成链接时,将其存储在 $_SESSION 中,并带有唯一的 id(或 RID,它可以是完整 URI 的 md5)并通过 GET 传递。
  • 使用数据库或文件存储(与会话相同的过程)
于 2012-03-26T19:10:05.237 回答
1

这对我有用(它需要 formData 支持):

<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>
于 2013-04-28T14:48:05.623 回答
0

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

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

于 2012-03-26T18:47:10.910 回答