Erreur avec JSON dans javascript: caractère inattendu non-blanc après les données JSON

Ma question porte sur une erreur que j'ai lorsque j'utilise jQuery.ajax dans ma fonction javascript. J'ai cherché et trouvé une question similaire, mais aucune de ces questions ne m'a aidé.

Alors, ce qui est vraiment étrange, c'est qu'il fonctionnait avant. J'ai passé quelques jours à travailler sur des problèmes de traduction avec UTF-8 et quand je l'ai essayé à nouveau après, il fonctionnait plus. Je ne vois pas ce qui s'est passé, alors peut-être que vous pouvez m'aider à le découvrir.

Voici le code de l'action de mon contrôleur qui est appelé pour ajax.

$project =$_GET['project']; //Call private function getQuota $quotaTab = $this->getQuota($project); $this->_helper->getHelper('viewRenderer')->setNoRender(); Zend_Layout::getMvcInstance()->disableLayout(); // Encode data to return $return = array( 'quota' => $quotaTab[0], 'usedSpace' => $quotaTab[1], 'usedPercentage' => $quotaTab[2] ); $return = Zend_Json::encode($return); $this->getResponse()->setBody($return); 

Et c'est ma fonction javascript contenant la fonction ajax

 function changeQuota() { var fileset = document.getElementById('fileset'); jQuery.ajax({ url: '/filesets/quota/', data: ({ project: fileset.value, ajaxCall: true}), success: function(response) { //Decode the JSON response var result = response.evalJSON(); // Set the new value of current quota $('currentQuota').value = result.quota; var strUsed = <?php echo "' ".$this->translate("used")."'";?>; $('usedQuota').innerHTML = result.usedPercentage.concat(strUsed); var suggestQuota = Math.round(parseFloat(result.quota) + parseFloat(result.quota/10)); $('quota').value = suggestQuota; $('usedSpace').value = Math.round(result.usedSpace); } }); } 

Je débogue mon script avec Firebug et l'erreur exacte qu'il renvoie est "JSON.parse: caractère inattendu non-blanc après les données JSON
Retourner JSON.parse (json); Prototype.js (ligne 720) "

J'ai cette erreur dans les deux fonctions lorsque j'utilise jQuery.ajax. L'erreur se produit lorsque vous essayez evalJSON ().

Une idée de la raison pour laquelle ça ne fonctionne plus? Pourrait-il être en raison de l'encodage (actuellement UTF-8) des fichiers?

Merci d'avance pour votre aide !

PS Peut-être que ce n'est pas lié, mais quand j'ouvre prototype.js avec Zend Studio, j'ai quelques avertissements et 2 erreurs ("point-virgule manquant" à la ligne 4235 et "Erreur de syntaxe sur jeton", "," attendu "à la ligne 4000 Lorsque j'ai remarqué cela, j'ai téléchargé la dernière version et elle n'a pas changé.

Vous pourriez couper la dernière chaîne avant qu'elle ne soit envoyée? Si ce n'est pas le cas, assurez-vous qu'il est encodé sans la marque de commande d'octet, surtout si vous utilisez le tisserand de rêve avec UTF-8.

JQuery a des paramètres plutôt stricts pour les données JSON. Avez-vous déjà essayé de valider votre JSON, par exemple avec JSONLint