Я новичок в javascript и имею следующую проблему. Я хочу загрузить json из api.php и добиться успеха с возвращаемым значением, чтобы заполнить мой графический интерфейс.
$( '#data_button' ).click(function() {
$.post( 'api.php', function( data ) { json = data; });
$('#data1').empty().append( json[0].name + ' | ' + json[1].name );
});
Поэтому я хочу нажать кнопку, после чего он выберет через почту некоторые данные и сохранит их в переменных данных. Как это должен быть объект (объект json?), Я думал, что просто могу использовать его, как указано выше... Но это не работает. Консоль говорит: не могу найти переменную json.
Любые намеки?
jquery post по умолчанию работает асинхронно, что означает, что строка:
$('#data1').empty().append( json[0].name + ' | ' + json[1].name );
происходят до того, как почтовый запрос вернет данные.
это как это сделать:
$( '#data_button' ).click(function() {
$.post( 'api.php', function( data ) {
$('#data1').empty().append( data[0].name + ' | ' + data[1].name );
});
});
У вас есть добавление за пределами функции обратного вызова. Попробуй это:
$( '#data_button' ).click(function() {
$.post( 'api.php', function( data ) {
json = data;
$('#data1').empty().append( json[0].name + ' | ' + json[1].name );
});
});