Ошибка синтаксического анализа Firefox JSON с большой строкой - PullRequest
0 голосов
/ 10 июня 2011

У меня есть метод, к которому я обращаюсь удаленно, используя <cfajaxproxy>.Этот метод возвращает JSON с несколькими свойствами.Одним из свойств является строка HTML, и когда эта строка становится действительно длинной, Firefox создает необработанное исключение.Он отлично работает в IE9.

Точный размер, при котором выдается ошибка, составляет 267 897 байт, как сообщается в Firebug для всего тела ответа.Если тело ответа составляет 267 896 байт, оно работает нормально.

Вот ошибка, сообщенная Firebug

uncaught exception: [Exception... "'SyntaxError: parseJSON' when calling method: [nsIDOMEventListener::handleEvent]"  nsresult: "0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)" location: "JS frame :: chrome://firebug/content/spy.js :: callPageHandler :: line 744"  data: no]

http://shop.discountsurgical.com/CFIDE/scripts/ajax/package/cfajax.js Строка 797

Строка 797в cfajax.js тестирует ответ для действительного json

if(_492.test(json)){

с _492, заданным как это регулярное выражение

var _492=/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/;

Вот пример ответа (я выбрал большую его часть)

{"content":" 1 2 34 <div id=\"fixedRight\"> <div id=\"toolbox\">     <div class=\"text\">Tools<\/div>
...
<\/script> ","destinationDiv":"main"}

Ответы [ 3 ]

1 голос
/ 16 июня 2011
1 голос
/ 30 августа 2011

У меня была такая же ошибка при выполнении ColdFusion.JSON.decode (JSONstring). Моим решением было использовать другую библиотеку JS. MooTools работал хорошо для меня. JSON.decode (JSONstring). Просто убедитесь, что вы удалили префикс JSON, который Coldfusion добавляет в начале строки. (если это относится к вам)

В качестве альтернативы вы можете отредактировать cfajax.js, чтобы удалить тест. В конце концов вы должны вернуть действительный JSON, чтобы приложение работало в первую очередь, и если вам нужно проверить строку json, вы можете сделать это на сервере ...

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

0 голосов
/ 11 июня 2011

Ошибка возникает при выключенном Firebug?У кого-то еще в SO была странная ошибка, и она была вызвана Firebug.

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