Передать результат выполнения запроса jQuery?

Доброго дня.
Подскажите как получить результат выполнения функции (true или false) при вызове функции ?
isValid = _validate();
        if (!isValid) {console.log(isValid);}
        else {console.log(isValid);}

в результате получаю - undefined
function _validate() {
        var formData = ui.$orderForm.serializeArray();
        $.ajax({
            url: 'scripts/validate.php',
            data: formData,
            type: 'POST',
            cache: false,
            dataType: 'json',
            error: _validateError,
            success: function(responce) {
                if (responce.code === 'success') {
                    _validateSuccess(responce);                   
                } else {
                    _validateError(responce);
                }
            } 
        });
        console.log(isValid);
    }
    function _validateSuccess(responce) {
        data = JSON.parse(data);
        console.info('responce', responce);
        isValid=true;
        console.log(isValid);
        return isValid=true;
    }

    function _validateError(responce) {
        console.info('responce', responce);
        var out = '';
        for (var key in responce.message){
            out+=responce.message[key]+'<br>';
        }
        ui.$errorMsg.html(out);
        isValid=false;
        console.log(isValid);
        return isValid;
    }
  • Вопрос задан
  • 39 просмотров
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
откройте удивительный мир асинхронных функций!
Promise, async / await – вот это всё.

Результат появится не сразу и только внутри функции обработчика success
Ответ написан
Комментировать
sinneren
@sinneren
function _validate(cb) {
...
success: function(responce) {
cb(responce);
},
...
}

_validate(function(resp) {
console.log(resp)
})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект