доступ к данным за пределами getJSON

Я так застрял в доступе / хранении данных за пределами getJSON

var arr = new Array();  // an array to store result

$.getJSON(url, function(data) {
    $.each(data.data, function(index, value){
    arr.push(value);
    }

 }

нужно получить доступ к arr здесь.

Я пробовал использовать $ ajax, async: false (как указано в этом сообщении Переменные, установленные во время функции $ .getJSON, доступны только в функции), но все равно не повезло. Я знаю, что этот вопрос задавали много раз, и я немного искал, но до сих пор не смог заставить его работать. Тонны благодарности


person Yuan Vivien Wang    schedule 24.09.2012    source источник
comment
вы смотрите на это Решение на SO .. stackoverflow.com/questions/1739800/   -  person Usman    schedule 24.09.2012


Ответы (1)


Почему не просто:

var arr = [];
$.getJSON(url, function(data) {
   arr = data;
});

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

person Marc B    schedule 24.09.2012