Firefox + jQuery: в случае успеха не запускается при вызове ajax с большим количеством возвращаемых данных - PullRequest
1 голос
/ 02 февраля 2011

У меня есть страница, которая отправляет сообщения на сайт с помощью функции jQuery ajax. Ответ представляет собой объект JSON, который содержит сообщение и некоторые другие коды состояния, а также кодированный HTML, который отображается в div в обратном вызове успеха.

По большей части это работает нормально, но при использовании последней версии Firefox (включая бета-версию) обратный вызов успеха никогда не срабатывает, когда ответ превышает 1 Мег.

Это известная проблема, и есть ли обходной путь?

Я попытался удалить объект JSON и отправить обратно прямой HTML, но возникает та же проблема. Firefox и jQuery 1.4, похоже, не любят ответы, которые больше, чем в среднем.

Спасибо

ОБНОВЛЕНИЕ - более подробно Я использую Firefox 3.6.13 и jQuery 1.4 вместе с asp.net MVC 2. Данные возвращаются с использованием метода Json в MVC2. Частичные представления визуализируются в строки, образующие JSON. Помните, что я вижу то же поведение при возврате плоского HTML.

Я подключу обратный вызов onError и посмотрю, будет ли он вызван.

ОБНОВЛЕНИЕ 2 Обратный вызов Error показывает, что происходит «parseerror».

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

I наткнулся на подобную ошибку сегодня, но я использовал jQuery 1.5 и MVC3.Причиной ошибок было то, что jQuery.validation обновлял применяемые настройки AJAX по умолчанию для каждого вызова ajax, делая обычный вызов AJAX вызовом JSONP.Ошибка синтаксического анализа была вызвана тем, что не удалось найти обратный вызов JSONP.Возможно, вы столкнулись с подобной проблемой.

0 голосов
/ 02 февраля 2011

В общем, вам нужно избегать закодированного HTML. Передайте обратно только данные JSON и используйте вместо этого шаблоны jquery (http://api.jquery.com/tmpl/).

Браузеры накладывают ограничения на размер в JSON, и они различаются в разных браузерах.

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