2013-02-19 3 views
0

Как получить доступ к моим данным из-за пределов команды getJSON?Доступ к данным jquery json после загрузки?

//LOAD JSON 
$.getJSON("users.js", function(data) { 
    numberOfPieces = data.users.length; 
    alert("Loaded "+numberOfPieces); // <------WORKS 
}); 

//Select a piece 
var pieceSelected = Math.floor(Math.random() * (numberOfPieces)); 
alert("pieceSelected: "+data.users[pieceSelected].Name); // <------RETURNS "data is not defined" 

Спасибо!

ответ

1

Ваша проблема заключается в том, что функциональные параметры ограничены этой функцией и недоступны вне функции. Используя переменную за пределами области действия, все должно работать должным образом.

var piecesData; 

//LOAD JSON 
$.getJSON("users.js", function(data) { 
    piecesData = data; 
    numberOfPieces = data.users.length; 
    alert("Loaded "+numberOfPieces); // <------WORKS 
}); 

//Select a piece 
var pieceSelected = Math.floor(Math.random() * (numberOfPieces)); 
alert("pieceSelected: "+ piecesData.users[pieceSelected].Name); 
Смежные вопросы