Вот функция, которая делает Ajax вызов,Вызов функции после того, как Ajax делается
function gettrans(callback) {
var xml = $.ajax({
method: 'GET',
url: 'url/?callback=jsonpCallback',
dataType: 'jsonp',
jsonp: !1,
jsonpCallback: "jsonpCallback",
data: { drop_lang: dropjslang,},
success: function (data) {
callback();
},
error: function (data) {
}
});
return xml.responseJSON
}
Я хочу вернуться xml.responseJSON
, но я получаю undefined
.
Что может быть решением?
Вы не можете вернуть значение синхронно, если само значение извлекается/производится асинхронно. '$ .ajax' является асинхронным, поэтому' gettrans' не может вернуть значение синхронно. Вы можете вернуть обещание. Или вы можете сделать ajax-вызов upfornt и получить обратный вызов успеха, установить значение/данные, которые вы можете вернуть с помощью gettrans, Добро пожаловать в асинхронное программирование! – bhantol