Предел символов строковой переменной javascript

Может ли строка JavaScript хранить 100 тыс. символов? Я написал script, где строка из PHP передается переменной в JavaScript. Он отлично работает, когда он сокращен до почти десяти тысяч символов, но разбивает script при попытке передать всю строку, длина которой немного больше 100 КБ. Однако ошибок не обнаружено. Есть ли какое-либо решение для этого, чтобы каким-либо образом увеличить предел символов переменной JavaScript? Я просто новичок. Понятно, что можно найти решение для этого.

Ответ 1

Нет никакого теоретического предела для JS или PHP по размеру их строк.

Я думаю, что есть несколько возможных ситуаций.

Во-первых, убедитесь, что вы не отправляете свою строку через HTTP GET. Максимальный размер для GET и я думаю, что он зависит от вашего веб-сервера.

Во-вторых, если вы используете POST, проверьте php.ini для post_max_size и посмотрите, меньше ли размер строки, который вы отправляете на него, а также ваш файл .htacccess, чтобы узнать, не слишком ли мал php_value post_max_size.

В-третьих, убедитесь, что в php.ini ваш memory_limit не ограничивает объем памяти, который может использовать ваш script.

надеюсь, что это поможет.

Ответ 2

В стандарте ECMAScript ECMA-262 (6-е издание, июнь 2015 г.) говорится:

6.1.4 Строковый тип

Тип String - это набор всех упорядоченных последовательностей из нуля или более 16-разрядных целых значений без знака ( "элементы" ) с максимальной длиной 2 53 -1 элементов.

Так что не планируйте использовать более 9,007,199,254,740,991 или около 9 квадриллионов символов. Конечно, вы должны быть готовы к системам, которые не могут выделить 18 блоков памяти PB, поскольку это не требуется для соответствия реализациям ECMAScript.