Разбор строки JSON из 50 000+ символов в объект JavaScript - PullRequest
2 голосов
/ 10 октября 2011

Я пытаюсь вычислить строку из 50 000+ символов из запроса GET ajax, используя jquery.В меньших наборах данных код будет правильно его оценивать, но firefox выдает ошибку «Неопределенный строковый литерал».После некоторых копаний я попытался использовать внешние библиотеки из JSON.org, заменив \ n, \ r \ n и \ r пустой строкой (на сервере), и заключив eval () в скобки.

Вот часть клиентского кода (javascript):

http://pastebin.com/wsXuN7tb <- здесь я использовал внешнюю библиотеку, чтобы сделать это </p>

Просмотрев firebug, я заметил, что строка json, возвращаемая сервером, была неполной и была обрезана примерно в 50 000 символов.Я точно знаю, что сервер возвращает допустимую строку json, потому что я передал ее в файл перед отправкой клиенту, но в итоге клиент получает усеченную версию.

Почему это происходит?Есть ли способ обойти это?

Ответы [ 2 ]

1 голос
/ 10 октября 2011

URL-адреса имеют ограничение длины, которое варьируется от браузера к браузеру. 50 000+ символов определенно ПУТЬ за пределы любого браузера. Для таких больших данных вы должны вместо этого использовать POST.

Буквально НИЧЕГО вы не можете сделать с этим ограничением, поскольку это ограничение браузера, а не то, что вы можете изменить на сервере. Единственное, что вы можете сделать, это перейти на использование POST.

0 голосов
/ 10 октября 2011

Оказывается, что NetworkStream, который я использовал на своем сервере c #, не мог иметь такой большой буфер, поэтому я просто написал половину буфера, очистил его и написал другую половину.

Спасибо за помощь, ребята.

...