Запрос-URI слишком большой [дубликат]
этот вопрос уже есть ответ здесь:
получил эту ошибку на большой $_GET
запрос размером ~9 000 символов (они разделены на ~10 переменных).
Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
что такое обходной путь для этой проблемы?
3 ответов
нет обходного пути, если вы хотите передать всю эту информацию с GET без изменения конфигурации сервера.
других решений:
- используйте сообщение с формой (или скрытой формой и добавьте событие onclick по ссылке, которая его отправит)
- Использовать Сессии. Когда сервер генерирует ссылку, сохраните ее в $_SESSION с уникальным идентификатором (или RID, это может быть md5 полного URI) и передайте его через GET.
- использование базы данных или хранилища файлов (с той же процедурой сессии)
это сработало для меня (ему нужна поддержка 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>
Ну, URI на самом деле имеет ограничение символов в зависимости от нескольких вещей. Вы можете проверить это на
один обходной путь-использовать POST вместо GET, если вы тоже разрабатываете сервер.