Javascript Ajax调用返回一些但不是全部Json数据

Javascript Ajax调用返回一些但不是全部Json数据,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我试图让用户选择一些数据,然后使用ajax将这些数据插入到数据库中。然后,我使用ajax从json端点获取新数据,这样我就可以在不重新加载网页的情况下更新网页。但是,ajax调用有时不会返回所有更新的数据。例如,如果用户选择3项,ajax调用有时只返回前2项 插入数据库 $.ajax({ dataType: "json", url: "http://localhost:8080/api/addChampionForUser",

我试图让用户选择一些数据,然后使用ajax将这些数据插入到数据库中。然后,我使用ajax从json端点获取新数据,这样我就可以在不重新加载网页的情况下更新网页。但是,ajax调用有时不会返回所有更新的数据。例如,如果用户选择3项,ajax调用有时只返回前2项

插入数据库

$.ajax({
            dataType: "json",
            url: "http://localhost:8080/api/addChampionForUser",
            data: params,
            async: false,
            success: function (data) {
                $.each(data.newChamp, function (key, val) {
                    if (val.mes) {
                        $(".message").append("<div> " + val.mes + " </div>");
                    }
                    else if (val.err) {
                        $(".message").append("<div> " + val.err + " </div>");
                    }
                });
            }
        });
json输出如下所示:

{"champions":[[
      {
         "class":"championkeeper.Champion",
         "id":null,
         "name":"Aatrox",
         "type":"fighter",
         "user":"test"
      },
      {
         "class":"championkeeper.Champion",
         "id":null,
         "name":"Blitzcrank",
         "type":"fighter",
         "user":"test"
      },
      {
         "class":"championkeeper.Champion",
         "id":null,
         "name":"Darius",
         "type":"fighter",
         "user":"test"
      }
]]}

考虑到你的json输出没有被切断并成功解析,我猜是API造成的。当我刷新页面时,API有更新的数据。但是第一个ajax调用必须在第二个调用开始之前完成?尝试向ajax对象添加
cache:false
。我将两个ajax调用都设置为同步,并且成功了!如果让ajax同步解决了您的问题,这意味着您确认遇到了“竞争”情况。将XMLHttpRequest转换为同步模式是一种不好的做法,因为它会使javascript挂起,直到响应返回,而该特性也正因为这个原因而被弃用。我在代码示例中看不到这两个AJAX请求,但我想看看如何将回调“链接”在一起,从而使AJAX请求保持异步。
{"champions":[[
      {
         "class":"championkeeper.Champion",
         "id":null,
         "name":"Aatrox",
         "type":"fighter",
         "user":"test"
      },
      {
         "class":"championkeeper.Champion",
         "id":null,
         "name":"Blitzcrank",
         "type":"fighter",
         "user":"test"
      },
      {
         "class":"championkeeper.Champion",
         "id":null,
         "name":"Darius",
         "type":"fighter",
         "user":"test"
      }
]]}