У меня возникли проблемы с использованием объекта JSON за пределами области успеха AJAX. Мне нужно получить доступ к возвращенному объекту JSON за пределами области успеха AJAX. Я попытался инициализировать JS var вне области AJAX и назначить JSON. Однако этот подход приводит к ошибке catalog.item is undefined
. Я ценю любые предложения, которые помогут мне исправить эту проблему.Невозможно получить доступ к объекту JSON за пределами успеха AJAX
Это то, что я пробовал:
Этот подход отлично работает (но не то, что мне нужно):
$('.catViewButton').click(function(){
var overlay = jQuery('<div class="overlay"> </div>');
overlay.appendTo(".invoice-body");
$('.catalog-view-wrapper').show();
$.ajax({
url: "ajax/invoice-get-data.php?loadCatalog=1",
dataType: "json",
success: function(catalog){
alert(catalog.item[0].image);
$('.catalog-img-container').attr("src", catalog.item[0].image);
}
});
...more code
.....
.....
Этот подход является то, что мне нужно, но приводит к ошибке:
var catalog = [];
$('.catViewButton').click(function(){
var overlay = jQuery('<div class="overlay"> </div>');
overlay.appendTo(".invoice-body");
$('.catalog-view-wrapper').show();
$.ajax({
url: "ajax/invoice-get-data.php?loadCatalog=1",
dataType: "json",
success: function(cat){
catalog = cat;
}
});
alert(catalog.item[0].image);
$('.catalog-img-container').attr("src", catalog.item[0].image);
...more code
.....
.....
Большое спасибо заранее!
не дубликат. программист должен понимать разницу между асинхронными и синхронными вызовами с помощью jquery ajax –
@JamesMontagne - Felix уверен, что на нем много трафика. – adeneo
@AkshayKhandelwal - это acronomym для «*** асинхронного *** Javascript и XML» по какой-то причине! – adeneo