Проблема с ajax запросом (status code error)

128
05 декабря 2019, 12:10
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, подскажите пожалуйста где ошибка?

Answer 1

Ваша функция 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>

READ ALSO
Перемещение объекта с вращением

Перемещение объекта с вращением

Как переместить объект с вращением из точки 10, 0, 0 в 30, 0, 0 и чтобы при перемещении объект крутился и когда он дошёл до точки то его rotation должен...

130
lightgallery dynamic. Добавление атрибута alt

lightgallery dynamic. Добавление атрибута alt

я генерирую lightgallery c помощью следующего динамического скриптаВсе работает как нужно

138
BitmapImage игнорирует StreamSource

BitmapImage игнорирует StreamSource

Я не совсем понимаю, почему когда устанавливаю StreamSource для BitmapImage, он всегда будет null

136
Как сделать таймер отсчета?

Как сделать таймер отсчета?

Нажимается кнопка в игре, происходит действие и начинается отсчет (допустим 10 секунд), bool становится falseПосле прохождения таймера в 10с, значение...

169