2012-07-01 4 views
7

tôi cần phải thực hiện này data biến toàn cầu:Làm thế nào để làm cho biến javascript toàn cầu

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

Tôi muốn có này tuyên bố trên toàn cầu. Tôi có cần khai báo nó dưới dạng mảng không?

Trả lời

30

Bất kỳ biến nào có thể được "tạo ra toàn cầu" bằng cách đính kèm biến đó làm thuộc tính của cửa sổ.

window.data = data; 

Bây giờ bạn có thể truy cập data dưới dạng biến toàn cầu.

+0

Cũng hữu ích là 'self' trong trường hợp bạn không có quyền truy cập vào DOM, chẳng hạn như từ một nhân viên web. – Nimphious

+0

Và tôi đặt nó ở đâu? bên ngoài phạm vi ajax? Tôi đã thử nhưng nó nói rằng 'dữ liệu' không được xác định –

+0

Đặt nó ở bất cứ nơi nào biến' dữ liệu' ban đầu. –

0

Đặt biến bằng số bạn muốn data bằng. Và khi tặng data giá trị của nó, hãy tham chiếu biến. Như thế này:

var obj = {}; 

$.ajax({ 
    // .... 

    data: obj, 

    // .... 
});