【问题标题】:return data from ajax to be used in another ajax从 ajax 返回数据以在另一个 ajax 中使用
【发布时间】:2023-03-09 07:54:01
【问题描述】:

第一个 ajax

function testAjax() {
  $.ajax({
    url: "getvalue.php",  
    success: function(data) {

      callback(data);
      //return data; 
    }
  });
}

回调函数

function callback(data) {
  return data;
}

另一个 Ajax 使用来自另一个 ajax 的回调数据

$.ajax({
   url: "getvalue.php",  
   success: function(data) {

     //how to get the data from callback function to be used here
     //return data; 
   }
});

我有一个来自函数的 ajax 调用,为了从那个 ajax 请求中获取数据,我有一个回调函数。

我的问题是如何在我的第二个 ajax 请求中使用回调函数中的数据?

【问题讨论】:

  • 在回调函数中尝试另一个ajax..
  • 在第一个的成功回调中再放一个AJAX。
  • @void 我可能必须在 ajax 请求中有多个 ajax 请求。我的意思是我里面会有 3 个级别的 ajax。这样做有什么坏处吗?
  • @void 我只是担心如果我这样做会有缺点。你能解释一下是否会有缺点吗?到目前为止,我正在寻找这个解决方案的缺点
  • @Giant 我能想到的唯一缺点是请求将以同步方式进行,因此需要更多时间才能完成。否则我认为三级 AJAX 请求不会有任何问题。

标签: jquery ajax asynchronous


【解决方案1】:

您的 ajax 是 asynchronous,因此您的函数在请求仍在运行时返回 null。
尝试像这样使用 ajax

function testAjax() {
    $.ajax({
        url: "getvalue.php",
        success: function(data) {
            anotherAjax(data)
        }
    });
}

function anotherAjax(another_data) {
    $.ajax({
        url: "getvalue.php",  
        data: another_data,
        success: function(data) {
            // do something
        }
    });
}

testAjax();

【讨论】:

    猜你喜欢
    • 2017-04-09
    • 2020-02-28
    • 2023-03-14
    • 2022-12-03
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    相关资源
    最近更新 更多