Answer the question
In order to leave comments, you need to log in
How to return the result of a function with getJSON?
Recently ran into a problem:
function check() {
var site = "https://...";
$.getJSON( site , {
param: param
})
.done(function( data ) {
if (data === undefined || data.length == 0) {
return false;
}else{
return data;
}
});
}
console.log(check()) - returns undefined
How do I get the data array to be returned?
Answer the question
In order to leave comments, you need to log in
На тот момент, когда ты вызываешь console.log(check()); В переменную ничего не записалось ибо это асинхронный запрос и он еще может только отправляться на сервер, а ты уже проверяешь результат.
Что можешь сделать:
1. Использовать promise
2. в функции .done выполнять то что тебе нужно, так как, как только придет результат она будет вызвана, например:
function check() {
var site = "https://...";
$.getJSON( site , {
param: param
})
.done(function( data ) {
if (data === undefined || data.length == 0) {
return false;
}else{
console.log(data);
// или все что угодно с data
}
});
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question