Почему это не возвращает значение при вызове функции? Я пробовал его с обратными вызовами, и я не могу заставить его работать. Он позволяет мне console.log, но он просто не вернет его в переменную tmp
.Возвращаемое значение ajax для функции
var URL = "https://api.instagram.com/v1/media/popular?client_id=642176ece1e7445e99244cec26f4de1f";
function getData(){
var tmp;
$.ajax({
type: "GET",
url: URL,
dataType: "jsonp",
success: function(result){
if(result.meta.code == 200){
tmp = result.data;
//console.log(result.data);
}else{
alert('fail');
alert(result.meta.error_message);
}
}
});
return tmp;
}
console.log(getData()); // undefined?
благодарит заранее!
Чтобы заставить его работать, добавьте prop 'async: false', но я бы не рекомендовал его. – DinoMyte
Если вы установите ** async: false **, скрипт будет блокироваться до тех пор, пока запрос не будет выполнен. Это может повлиять на пользовательский интерфейс пользователя. –
* НЕ добавляйте prop 'async: false', он устарел по причине. Узнайте, как работать с асинхронными операциями вместо – DelightedD0D