2012-07-01 2 views
7

ho bisogno di fare questo data variabile globale:Come rendere javascript variabile globale

$.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; 
      } 
     } 
    }); 

Voglio avere questa dichiarata a livello globale. Devo dichiararlo come array?

risposta

30

Qualsiasi variabile può essere "resa globale" allegandola come proprietà della finestra.

window.data = data; 

è ora possibile accedere data come una variabile globale.

+0

Inoltre utile è 'self' nel caso in cui non si abbia accesso al DOM, ad esempio da un Web Worker. – Nimphious

+0

E dove lo metto? fuori dall'ambito dell'ajax? L'ho provato ma dice che 'data' non è definito –

+0

Mettilo ovunque sia la variabile' dati' originale. –

0

Impostare una variabile uguale a ciò che si desidera data uguale. E quando si dà il valore data, fare riferimento alla variabile. In questo modo:

var obj = {}; 

$.ajax({ 
    // .... 

    data: obj, 

    // .... 
});