J'ai une méthode que j'accède à distance en utilisant <cfajaxproxy>
. Cette méthode renvoie JSON avec quelques propriétés. Une des propriétés est une chaîne de HTML, et quand cette chaîne devient vraiment longue, Firefox jette une exception non interceptée. Cela fonctionne très bien dans IE9.Erreur Firefox analyse JSON avec grande chaîne
La taille exacte à laquelle l'erreur est levée est de 267 897 octets, comme indiqué dans Firebug pour l'ensemble du corps de la réponse. Si le corps de la réponse est de 267 896 octets, cela fonctionne correctement.
Voici l'erreur signalée par 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 Ligne 797
Ligne 797 à cfajax.js teste la réponse pour JSON valide
if(_492.test(json)){
avec _492 défini comme ce regex
var _492=/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/;
Voici un exemple de la réponse (je l'ai haché la plupart d'entre dehors)
{"content":" 1 2 34 <div id=\"fixedRight\"> <div id=\"toolbox\"> <div class=\"text\">Tools<\/div>
...
<\/script> ","destinationDiv":"main"}
avez-vous envisagé d'utiliser 'cfdiv' pour charger la 'chaîne de html' comme contenu de corps à la place, comme une solution de contournement? – Henry
Merci, Henry. Je vais devoir vérifier 'cfdiv'. Dans ce cas, il y a beaucoup plus de choses que de simplement peupler le contenu div, donc je ne suis pas sûr que ce soit approprié. – Yisroel