2012-07-01 11 views
7

Necesito hacer esto data variable global:Cómo hacer javascript variable global

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

Quiero tener esta declarada a nivel mundial. ¿Debo declararlo como matriz?

Respuesta

30

Cualquier variable puede "hacerse global" adjuntándola como una propiedad de la ventana.

window.data = data; 

Ahora se puede acceder data como una variable global.

+0

También es útil 'self' en caso de que no tenga acceso al DOM, como por ejemplo un Web Worker. – Nimphious

+0

¿Y dónde pongo eso? fuera del alcance de Ajax? Intenté eso pero dice que 'data' no está definido –

+0

Ponlo donde sea que esté la variable' data' original. –

0

Establezca una variable igual a la que desea que data sea igual a. Y al dar data su valor, haga referencia a la variable. De esta manera:

var obj = {}; 

$.ajax({ 
    // .... 

    data: obj, 

    // .... 
});