2012-07-01 17 views
7

muszę zrobić to data zmienna globalna:Jak zrobić javascript zmienna globalna

$.ajax({ 
    url: "get_data.php", 
    cache: false, 
    dataType: 'json', 
    data: {}, 
    success: function(data) { 
     for(var i = 0; i < data.results.length; i++) { 
      if(my_data.hasOwnProperty(data.results[i].id)) { 
       my_data[data.results[i].id].name = data.results[i].name; 
      } 
     } 
    }); 

Chcę mieć ten uznany na całym świecie. Czy muszę zadeklarować to jako tablicę?

Odpowiedz

30

Dowolną zmienną można "wprowadzić globalnie", dołączając ją jako właściwość okna.

window.data = data; 

Możesz teraz uzyskać dostęp do data jako zmiennej globalnej.

+0

Również przydatny jest "self" w przypadku, gdy nie masz dostępu do DOM, np. Od Web Worker. – Nimphious

+0

I gdzie mam to umieścić? poza zasięgiem ajax? Próbowałem, ale mówi, że 'dane' nie jest zdefiniowane –

+0

Umieścić go wszędzie tam, gdzie jest oryginalna zmienna' data'. –

0

Ustaw zmienną równą temu, co chcesz, aby być równa data. A podając jej wartość, odwołaj się do zmiennej. W ten sposób:

var obj = {}; 

$.ajax({ 
    // .... 

    data: obj, 

    // .... 
});