javascript - 多个 AJAX 调用的限制?

标签 javascript php sql ajax

上下文: 我有一个javascript文件,里面有一个AJAX函数,调用一个返回数据的php文件并用它执行一个函数(一个sql查询返回设定日期的记录,然后使用谷歌地图API将其绘制在 map 上)。我们称之为数据A

问题: 我需要的是能够获取接下来几天的数据并将其存储在数组中(我们称之为数据 B)并将其与第一组数据(数据 A)进行比较。 根据我的理解,我需要在这个调用中进行另一个ajax调用,我尝试了它,但似乎我无法获取数据,我可能对ajax的核心工作原理有误解。例如:

var data_a;
var data_b;
    $.ajax({
         type: "POST",
         url: scriptday,
         data: $("#dayForm").serialize(),
         error: function( data ) {
              console.log("Error: "+ data );
         },
         success: function( json ) {
              data_a = json
                  //start of inner ajax call
                  $.ajax({
                           type: "POST",
                           url: scriptday2,
                           data: $("#dayForm").serialize(),
                           error: function( data ) {
                                console.log("Error: "+ data );
                           },
                           success: function( json ) {
                                data_b = json
                               // access data_a here
                           }
                       }    
                  });
                  //end of inner ajax call

        }    
    });

编辑: 正确的方法是将内部 ajax 调用存储在一个接受 data_a 的函数中。

function innerAjax(data_a){
    $.ajax({
       .....
       //data_a can now be used here
    })
}

并在第一个ajax中调用它

innerAjax(data_a);

这种方式以同步方式使用 AJAX :) 感谢贡献者!

最佳答案

不,如果您使用异步 ajax(并且看起来像您这样做),则不存在多个 AJAX 调用的限制。

对于您的问题 - 也许您需要正确等待两个 ajax 调用的结果,存储结果然后处理它们。

关于javascript - 多个 AJAX 调用的限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27685953/

相关文章:

javascript - Chart.js - 每条边框线具有不同颜色的折线图

php - 如何在 Doctrine 查询构建器中进行多个 WHERE IN 列查询?

php - 使用 php 与 mysql 嵌套选择查询混淆

mysql - sql嵌套顺序

mysql - 如何使用sql获取满足一定条件的结果?

javascript - 将配置文件添加到我的 JavaScript 项目

javascript - 在 Jest 中使用 `expect.any(Object)` 或 `expect.anything()` 无法匹配 `undefined`

php - htaccess : Rewrite URL issue for query string in parameter

mysql - 创建相对于另一个的 SQL 列

javascript - stick header 导致页面短时跳转