2009-10-14 14 views
0

Puis-je faire ceci? Je souhaite conserver le contenu de json et travailler avec lui en dehors de la fonction. Si était C, je garde juste le pointeur mais je ne sais pas quoi faire avec JSVariables globales, Javascript

Répondre

2

oui, vous pouvez le faire

+0

Je souhaite que cela fonctionne. Devinez quoi, si je mets alert (json) à la fin de mon code, il affiche zéro! – toto

+0

Je voulais dire alerte (global) bien sûr -.- – toto

+2

immédiatement après? bien sûr, il a échoué. la demande n'est pas encore terminée. la variable 'global' n'aura pas de nouvelle valeur jusqu'à ce que la requête soit terminée –

0

Je ne sais pas les détails sur la façon dont fonctionne JSON, je ne peut pas dire ce qui se passe dans votre cas, mais ce simple test fonctionne comme un exemple simplifié sur la façon dont votre variable globale fonctionne réellement:

var global = 0; 

function callTest(arr) { 
    //alert("JSON Data: " + json[0].titre); 
    global = arr; 
} 

var array = new Array("w", "q"); 
callTest(array); 
alert(global); 

cela signifie qu'il a quelque chose à voir avec la façon dont fonctionne JSON. Une chose: êtes-vous sûr que la fonction initialisée avec json est effectivement exécutée avant de tester avec alert(global)?

+0

Ce n'était pas. Il y a un délai de 30 ms qui attend que mon serveur envoie le JSON. Ce que j'ai fait est que tout le code qui a besoin de ce JSON commencera à partir du rappel. – toto

Questions connexes