function get_users ()
{
let users;
$.ajax({
url: "http://blog.good-electric.ru/config/users.php",
method: "GET",
complete: function(xhr, status) { console.log(status, xhr); }
}).done(function (data) {
users = data;
});
return users;
}
complete возвращает status_code - error, подскажите пожалуйста где ошибка?
Ваша функция get_users асинхронная, а это значит, что переменная users в ней при return, всегда будет undefined.
Сделать функцию синхронной можно несколькими способами.
Методом конструктора Promise:
function get_users() {
return new Promise((resolve, reject) => {
$.ajax({
url: "http://blog.good-electric.ru/config/users.php",
method: "GET",
success: resolve,
error: reject
})
})
}
get_users()
.then(data => console.log('success', data))
.catch(err => console.log('err', err))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Методом callback-а:
function get_users(success, error) {
$.ajax({
url: "http://blog.good-electric.ru/config/users.php",
method: "GET",
success: success,
error: error
})
}
get_users(data => {
consoe.log('success', data)
}, err => {
console.log('err', err)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Продвижение своими сайтами как стратегия роста и независимости