php + ajax + javascript: encodeURIComponent режет мой текст при отправке на сервер - PullRequest
0 голосов
/ 10 августа 2011

Это мой первый вопрос ... Надеюсь, моя проблема не выглядит глупо ...

html (разрешены любые символы) ---> событие javascript ---> функция javascript отправляет текств .php файл, используя метод ajax.Вот проблема:

когда я использую xmlhttp.open ("GET", "continue.php? Q =" + encodeURIComponent (str), false); отлично работает для малыхтексты (менее 1500 символов) ....

Если я использую xmlhttp.open ("GET", "continue.php? q =" + str, false); , то этоработает для любой длины, но я должен быть осторожен со специальными символами.

Почему кодирование URIComponent не работает для большего объема текста (более ~ 1500, даже простых буквенно-цифровых символов)?Есть идеи?

Итак, проблема в этой строке (я проверял все остальные).

Кстати, она была проверена на болгарских кириллических буквах ...

При тексте более 1500 символов действие вообще не выполняется (нет видимой ошибки, нет ничего, просто ничего не происходит).

Спасибо.

1 Ответ

1 голос
/ 10 августа 2011

Существует ряд ограничений, по которым вы можете установить длину URL. В IE общая длина URL, включая строку запроса GET, не должна превышать 2 083 символов . Сервер может наложить ограничение тоже.

Так что, очевидно, это не сам кодировщик URIComponent, который имеет проблемы с длинными строками. Скорее, закодированный результат длиннее незашифрованной строки, и этого, кажется, достаточно, чтобы вы достигли одного из ограничений, которые я упомянул выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...