2016-09-21 3 views
1

при загрузке страницы Я хочу, чтобы получить JSON, как так:Использование ответа от getJson глобально

$.getJSON(_routes['salesInAMonthJS'], { month: "September 2016" }).then(
    function(d){ 
     console.log(d); 
    } 
); 

это

$.getJSON(_routes['salesInAMonthJS'], { month: "September 2016" }); 

дает мне назад

{"9":{"name":"alex lloyd","country":"Germany","antiquity":"new client","amount":"0.0 USD"},"10":{"name" 
:"asdasdsadasda dasda","country":"Afghanistan","antiquity":"new client","amount":"0.0 USD"},"11":{"name" 
:"Alex Lloyd","country":"American Samoa","antiquity":"new client","amount":"0.0 USD"},"12":{"name":"alex 
lloyd","country":"Aruba","antiquity":"new client","amount":"0.0 USD"},"5":{"name":"surgeon bueno","country" 
:"Spain","antiquity":"renewal","amount":"2686.97 USD"}} 

Однако, когда пользователь нажимает кнопку Я хочу отобразить данные, хранящиеся в d

, например:

$(document).on("click ", ".tick", function(e) { 
    e.preventDefault(); 
    $.each(d, function(i, item) { 
     &("div.container").append(d[i].name); 
    }); 
}); 

Однако это, кажется, не работает, какие-либо идеи, что я делаю неправильно? Спасибо

+0

'& (" div.container ")' является опечаткой для '$ (" div.container ")'. – Barmar

+1

У вас проблема с переменной областью. 'd' является локальным для функции обратного вызова' $ .getJSON', вы не можете получить к нему доступ в другой функции. – Barmar

ответ

0

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

$.getJSON(_routes['salesInAMonthJS'], { month: "September 2016" }).then(function(d){ 
    $(document).on("click ", ".tick", function(e) { 
     e.preventDefault(); 
     $.each(d, function(i, item) { 
      $("div.container").append(d[i].name); 
     }); 
    }); 
}); 
Смежные вопросы