This question already has an answer here:
Got this error on a big $_GET
query in size ~9 000 symbols (they are divided into ~10 variables).
Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
What is a workaround for this problem?
There is no workaround if you want pass all these info with GET without change server configuration.
Other solutions:
- Use POST with a form (or an hidden form and add onclick event at your link that submit it)
- Use Session. When the server generates the link, store it in $_SESSION with an unique id (or RID, it can be md5 of complete URI) and pass it via GET.
- Use Database or file storage (with the same procedure of session)
This worked for me (it needs formData support):
<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>
Well an URI actually have a character limit depending on several things. You can check it out at
One workaround is to use POST instead of GET if you are the one developing the server too.
来源:https://stackoverflow.com/questions/9877744/request-uri-too-large