2016-04-30 12 views
0

Ich lade in ein Array von Daten, jedes Stück des Arrays zu einer globalen Variablen zuweisen und dann versuchen, es anzuzeigen. Aus irgendeinem Grund bekomme ich keinen Wert für # {alibaba} angezeigt.Global zugewiesene Variable wird nicht angezeigt

script(type='text/javascript', src="http://code.jquery.com/jquery-1.9.1.min.js") 
    body 
     script(type='text/javascript'). 
     var microsoft; 
     var amazon; 
     var apple; 
     var mcdonalds; 
     var berkshire; 
     var alibaba; 
     $.getJSON('../json', function(data) { 
      microsoft = data[0]; 
      amazon = data[1]; 
      apple = data[2]; 
      mcdonalds = data[3]; 
      berkshire = data[4]; 
      alibaba = data[5]; 
     }); 
     p Alibaba Stock Price Is: #{alibaba} 

ist die Array ich von bin Laden ../json

[ 
    "49.87", 
    "93.74", 
    "145.48", 
    "659.59", 
    "126.49", 
    "76.94" 
] 
+0

Javascript Ausführung asynchron ist. Der Rückruf, den Sie an $ .getJSON übergeben, wird zu einem späteren Zeitpunkt ausgeführt, wenn die Daten vom Server ankommen. Sie drucken also früher als die Daten empfangen werden. Versuchen Sie, innerhalb der Rückruffunktion zu drucken. – zeronone

Antwort

0

Versuchen Sie, den folgenden Code:

script(type='text/javascript', src="http://code.jquery.com/jquery-1.9.1.min.js") 
    body 
     script(type='text/javascript'). 
     var microsoft; 
     var amazon; 
     var apple; 
     var mcdonalds; 
     var berkshire; 
     var alibaba; 
     $.getJSON('../json', function(data) { 
      microsoft = data[0]; 
      amazon = data[1]; 
      apple = data[2]; 
      mcdonalds = data[3]; 
      berkshire = data[4]; 
      alibaba = data[5]; 

      // when json is loaded we place data into tag span 
      $("#alibaba").text(alibaba); 
     }); 
     p Alibaba Stock Price Is: 
     span#alibaba