Получить ajax результат запроса в качестве ввода для второго ajax запроса - PullRequest
0 голосов
/ 10 марта 2020

Я немного застрял с проблемой ниже, мой код похож на это:

function (){
  var myVar = myFirstAjaxFunction()
  $.ajax({
    url: myUrl + myVar
    ....
  })
}

Моя первая функция ajax возвращает строку, которую я хотел бы использовать в конце моего функции, но я не знаю, как ждать выполнения первой функции.

Надеюсь, это понятно, спасибо за вашу помощь!

Ответы [ 5 ]

0 голосов
/ 10 марта 2020

Я думаю, что вы должны воспользоваться помощью функции обратного вызова, пожалуйста, посмотрите на код ниже. тебе поможет.

function myFirstAjaxFunction(callback){
    $.ajax({
        url: "demo_test.txt",
        success: function(result){
         return callback('your-string');
        }
    });
}

function (){
  myFirstAjaxFunction(function(myVar){
  $.ajax({
    url: myUrl + myVar
    ....
  })
 })
} 
0 голосов
/ 10 марта 2020
$.post(url1,{ params:myVar}, function(result) {
    $.post(url2,{params:result}, function(final_result) {
       //use final_result here... :)
    });
});
0 голосов
/ 10 марта 2020

Вот пример:

$.ajax({
    success: function (data) {
        var a = data;
        $.ajax({
            data: 'data=' + a,
            success: function (data2) {

            }
        });
    }
});

Или вы передаете обратный вызов:

function myFirstAjaxFunction (callback){

$.ajax({
    success: function (data) {
     callback(data);
   }
});

}

и использование:

myFirstAjaxFunction(function(data){
//call 2nd ajax
});
0 голосов
/ 10 марта 2020

Верните обещание от звонка ajax. Пример фрагмента для справки

function (){
   myFirstAjaxFunction()
}

function myFirstAjaxFunction() {
  $.ajax({
    url: '',
    success: function(response) {
      //response of the first api call
      secondApiCall(responseoffirst);
    }
  });
}

function secondApiCall(value) {
  $.ajax({
    url: '',
    success: function(response) {
      console.log(response);
    }
  });
}

0 голосов
/ 10 марта 2020

Вы можете использовать Async / Await :

async function (){
  var myVar = await $.ajax({
    url: firstAjaxCallUrl
    ....
  })
  $.ajax({
    url: myUrl + myVar
    ....
  })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...