我有两个 ajax 调用,但由于某种原因,其中一个 ajax 没有按计划工作。
一个 ajax 调用正在从站点获取数据ajax1.php
,然后另一个 ajax 正在从中获取数据,ajax2.php
并且它应该更改其中的一些数据ajax1.php
。
所以我有index.php
,ajax 是这样的
这是index.php
:
$.ajax({
type: "GET",
data: "id="+id+"&id-other="+id-other,
url: "ajax1.php"
}).done(function(data){
$("#div").html(data);
});
$.ajax({
type: "GET",
data: "id_1="+id+"&id_2="+id_2,
url:"ajax/ajax2.php"
}).done(function(data){
$("#change_data").html(data);
});
<div id="div">
<div id="change_data"><!-- This div is supposed to be in ajax1.php so it only appears after the first ajax is done.!--></div>
</div>
问题是#change_data 没有正确显示。它会在一秒钟内显示它应该显示的内容,然后消失。不确定是什么问题。我尝试延迟:$("#change_data").delay.(1000).html(data_changed);
像这样,但不起作用。我尝试将整个 ajax 函数放在第一个 .done() ajax 函数中,但这不起作用。
这可能是因为当第一个 ajax 加载时,第二个 ajax 尝试比第一个 ajax 加载得更快。第一个 ajax 有更多的信息,所以它可能需要加载更长的时间?
有任何想法吗?谢谢 也许还有另一种方法可以将第二个 ajax 放在第一个等成功的情况下,它会调用第二个 ajax?