ajax запрашивают предел браузера

Период имеет конструктор, который принимает два ReadableInstant экземпляра :

Period diff = new Period(start, end);

(ReadableInstant - интерфейс, реализованный DateTime, а также другими классами.)

9
задан 22 May 2009 в 15:29
поделиться

5 ответов

Я подозреваю, что ограничения различаются, если вы отправляете и получаете данные, поэтому я предполагаю, что это связано с отправкой данных клиенту. На самом деле JSON - это просто тип данных. Вы подозреваете, что на самом деле вы делаете запрос GET для сценария javascript, который должен быть ограничен до разумного размера. В вики для JSON также говорится об использовании метода XMLHTTPRequest, который может обойти ваш предел, но вам все равно понадобится прокси, чтобы избежать ограничений междоменного сценария и использовать более разумный тип mime, например html, xml, двоичный и т. Д. Если вы помещаете какие-либо изображения в JSON, помните, что они могут быть ссылками, так как с этими запросами нет междоменных проблем.

Также дважды проверьте, что это не количество запросов, вызывающих у вас проблемы, у браузеров есть ограничения слишком. Иногда всего 2.

2
ответ дан 4 December 2019 в 21:51
поделиться

Я думаю, что аннаката права.

Текст сообщения об ошибке также предполагает, что проблема возникает из-за глубины вашей структуры json, а не из-за ее размера в КБ.

Это означает, что когда вы оцениваете свой json, движок JavaScript использует стек во время анализа json. Этот стек достигает своего максимального предела из-за глубины (количества вложенных элементов) в вашей структуре json.

Возможно, вы захотите проверить, подходит ли более плоская структура вашим требованиям.

2
ответ дан 4 December 2019 в 21:51
поделиться

Как правило, я стараюсь, чтобы объем данных AJAX был небольшим. Если мне нужно передать большой объем данных, я получу его с помощью нескольких вызовов. Поэтому, если я загружаю таблицу, у меня будет один метод, который сообщит мне, сколько записей будет возвращено, и другой метод, чтобы вернуть мне записи группами по # (обычно 20 для меня).

Часть этого заключается в том, что я могу загружать страницу по мере извлечения данных, а пользователь не ждет одной большой полезной нагрузки.

Кроме того, было бы лучше использовать JSON, а не XML. JSON обычно представляет собой меньшую полезную нагрузку, чем XML, и многие тесты показали, что браузеру легче загружать его.

1
ответ дан 4 December 2019 в 21:51
поделиться

iirc это была ошибка FF3 в прошлом году, но я считаю (да, проверял здесь ) она исправлена. Однако, просматривая комментарии, есть следующее примечание:

Примечание: этот тест зависит от архитектура и доступная память. На машина x86_64 с 2G и 64bit построить, он потерпит неудачу с InternalError: пространство стека скрипта однако квота исчерпана на x86_64 с 4G и 64-битной сборкой он будет pass.

В комментариях также говорится, что это чистая проблема JS, что означает, что, хотя формат данных строго не имеет значения, очень большие фрагменты JSON могут взорвать стек JS, а строки XML - нет. Я думаю, вам просто нужно попробовать.

OTOH, он отмечен как исправленный, поэтому возникает вопрос, нужно ли вам убедиться, что вы используете последнюю версию FF.

3
ответ дан 4 December 2019 в 21:51
поделиться

Я не обнаружил каких-либо ощутимых ограничений, но ваше взаимодействие с пользователем разбивает большие данные на несколько вызовов. Передача больших таблиц через ajax занимает вечность, особенно если пользователь работает с IE. Большие данные + Ajax + IE = сбой IE.

1
ответ дан 4 December 2019 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: