Период имеет конструктор, который принимает два ReadableInstant
экземпляра :
Period diff = new Period(start, end);
(ReadableInstant
- интерфейс, реализованный DateTime
, а также другими классами.)
Я подозреваю, что ограничения различаются, если вы отправляете и получаете данные, поэтому я предполагаю, что это связано с отправкой данных клиенту. На самом деле JSON - это просто тип данных. Вы подозреваете, что на самом деле вы делаете запрос GET для сценария javascript, который должен быть ограничен до разумного размера. В вики для JSON также говорится об использовании метода XMLHTTPRequest, который может обойти ваш предел, но вам все равно понадобится прокси, чтобы избежать ограничений междоменного сценария и использовать более разумный тип mime, например html, xml, двоичный и т. Д. Если вы помещаете какие-либо изображения в JSON, помните, что они могут быть ссылками, так как с этими запросами нет междоменных проблем.
Также дважды проверьте, что это не количество запросов, вызывающих у вас проблемы, у браузеров есть ограничения слишком. Иногда всего 2.
Я думаю, что аннаката права.
Текст сообщения об ошибке также предполагает, что проблема возникает из-за глубины вашей структуры json, а не из-за ее размера в КБ.
Это означает, что когда вы оцениваете свой json, движок JavaScript использует стек во время анализа json. Этот стек достигает своего максимального предела из-за глубины (количества вложенных элементов) в вашей структуре json.
Возможно, вы захотите проверить, подходит ли более плоская структура вашим требованиям.
Как правило, я стараюсь, чтобы объем данных AJAX был небольшим. Если мне нужно передать большой объем данных, я получу его с помощью нескольких вызовов. Поэтому, если я загружаю таблицу, у меня будет один метод, который сообщит мне, сколько записей будет возвращено, и другой метод, чтобы вернуть мне записи группами по # (обычно 20 для меня).
Часть этого заключается в том, что я могу загружать страницу по мере извлечения данных, а пользователь не ждет одной большой полезной нагрузки.
Кроме того, было бы лучше использовать JSON, а не XML. JSON обычно представляет собой меньшую полезную нагрузку, чем XML, и многие тесты показали, что браузеру легче загружать его.
iirc это была ошибка FF3 в прошлом году, но я считаю (да, проверял здесь ) она исправлена. Однако, просматривая комментарии, есть следующее примечание:
Примечание: этот тест зависит от архитектура и доступная память. На машина x86_64 с 2G и 64bit построить, он потерпит неудачу с InternalError: пространство стека скрипта однако квота исчерпана на x86_64 с 4G и 64-битной сборкой он будет pass.
В комментариях также говорится, что это чистая проблема JS, что означает, что, хотя формат данных строго не имеет значения, очень большие фрагменты JSON могут взорвать стек JS, а строки XML - нет. Я думаю, вам просто нужно попробовать.
OTOH, он отмечен как исправленный, поэтому возникает вопрос, нужно ли вам убедиться, что вы используете последнюю версию FF.
Я не обнаружил каких-либо ощутимых ограничений, но ваше взаимодействие с пользователем разбивает большие данные на несколько вызовов. Передача больших таблиц через ajax занимает вечность, особенно если пользователь работает с IE. Большие данные + Ajax + IE = сбой IE.