2

У меня есть Функция1, в которой я вызываю Функцию2, которая содержит AJAX-запрос.
Сам AJAX-запрос возвращает значение, которое нужно передать в Функцию1.
Выглядит так:

function function2(x,y, ...){
        $.ajax({
            url: "./block1Action.php",
            cache: false,
            type: 'POST',
            data:{
                x:x,
                y:y,
                ...
            },
            success: function(res){
                res; //res - это число которое я должен вернуть в function1, как число 
            }
        });
    }
function function1(){
    var res = function2(10,20,...);
    alert(res); 
}
Ruslan
  • 121

1 Answers1

1

Вам необходимо зарегистрировать функцию обратного вызова, что-то вроде этого:

function test() {
    myFunction(function(d) {
        //processing the data
        console.log(d);
    });
}

function myFunction(callback) {
    var data;
    $.ajax({
        url: 'url',
        data: 'data to send',
        success: function (resp) {
            data = resp;
            callback(data);
        },
        error: function () {}
    });
}
Raz Galstyan
  • 8,258
  • Не подскажите, как тогда передать переменные в myFunction? – Ruslan Jan 20 '18 at 20:48
  • @РусланГохгалтер Если используете код то увидите. Они в переменной d. Там сделан console.log посмотрите значения – Raz Galstyan Jan 20 '18 at 21:27