2010-06-01 18 views
1

Mise à jour: J'ai essayé une version du script sans la partie « beforeContentUpdate », et ce script renvoie le JSON suivanterreur de syntaxe Javascript

{"COLUMNS":["TNAME","TBRIEF","GAMEID","TITLEID","RDATE","GNAME","PABBR","PNAME","RSCORE","RNAME"], 
"DATA":[["Dark Void","Ancient gods known as 'The Watchers,' once banished from our world by superhuman Adepts, have returned with a vengeance.",254,54,"January, 19 2010 00:00:00","Action & Adventure","X360","Xbox 360",3.3,"14 Anos"]]} 

Utilisation du script qui inclut « beforeContentUpdate, » cependant, ne retourne rien. J'ai utilisé Firebug pour voir le contenu de la div générée par l'info-bulle, et c'est vide!

Bonjour, Je me demande si quelqu'un peut me aider avec une erreur de syntaxe dans la ligne 14 de ce code: Le débogueur dit missing) in parenthetical sur var json = eval('(' + content + ')');

// Tooltips for index.cfm 
$(document).ready(function() 
{ 
    $('#catalog a[href]').each(function() 
    { 
     $(this).qtip({ 
      content: { 
      url: 'components/viewgames.cfc?method=fGameDetails', 
      data: { gameID: $(this).attr('href').match(/gameID=([0-9]+)$/)[1] }, 
      method: 'get' 
     }, 
     api: { 
      beforeContentUpdate: function(content) { 
      var json = eval('(' + content + ')'); 
      content = $('<div />').append(
      $('<h1 />', { 
       html: json.TNAME 
       })); 
       return content; 
      } 
     }, 
     }); 
    }); 
}); 

Répondre

0

Cela est avéré être un autre cas où le débogueur ColdFusion, lorsque la sortie de débogage demande est activée, provoque une erreur ajax. C'est un gros "gotcha" dont nous devons nous souvenir lorsque nous travaillons avec ColdFusion avec le débogage activé. Il décompose ajax.

2

Vous oublier un

+ 

Devrait être:

var json = eval('(' + content + ')'); 
+0

J'ai ajouté le "+", mais maintenant je reçois une autre erreur sur la même ligne qui dit "manquant" entre parenthèses "- des idées? – Mohamad

+1

en savoir plus: [ExtJS - SyntaxError: missing) entre parenthèses] (http://stackoverflow.com/questions/1645068/extjs-syntaxerror-missing-in-parenthetical) ... – miku

+1

citation: La parenthèse manquante indique généralement que quelque chose dans le JSON est faux. Ce pourrait être un caractère supplémentaire avant/après la chaîne. Utilisez Firebug pour examiner ce que vous récupérez et assurez-vous qu'il n'y a pas de caractères supplémentaires. – miku

1

le meilleur pour cela est www.jslint.com

j'avais copié et coller votre code et me montrer ceci:

Problem at line 21 character 10: Extra comma.

},

+0

Sortez la virgule ne fait pas différent malheureusement! IT dit "problème à la ligne 14: eval est le mal" quelle sorte d'erreur est-ce? – Mohamad

1

Assurez-vous JSON n'a pas de caractères supplémentaires, le JSON doit être valide. Vérifiez comment le content revient avec une alerte simple afin que rien ne change la chaîne. En outre, envisagez d'utiliser parseJSON from jQuery au lieu de eval. Quote:

var obj = jQuery.parseJSON('{"name":"John"}'); 
alert(obj.name === "John");