2012-07-01 85 views
7

我需要這個data變量全球:如何使JavaScript變量全球

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

我想有這樣的全局聲明。我需要將其聲明爲數組嗎?

回答

30

任何變量都可以通過將其作爲窗口的屬性附加到「製作全局」來實現。

window.data = data; 

您現在可以訪問data作爲一個全局變量。

+0

如果您無法訪問DOM(例如Web Worker),那麼'self'也有用。 – Nimphious

+0

我在哪裏放?在ajax範圍之外?我試過,但它說「數據」沒有定義 –

+0

把它放在原來的'data'變量的任何地方。 –

0

設置一個等於您希望data等於的變量。當給出data其值時,參考該變量。像這樣:

var obj = {}; 

$.ajax({ 
    // .... 

    data: obj, 

    // .... 
});