hel*_*llo 3 php ajax jquery get
我有两个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>
Run Code Online (Sandbox Code Playgroud)
问题是#change_data没有正确显示.它显示了它应该的一秒钟,然后消失.不确定是什么问题.我试过延迟:$("#change_data").delay.(1000).html(data_changed);
像这样,但不起作用.我尝试将整个ajax函数放在第一个.done()ajax函数中,但这不起作用.
这可能是因为第一个ajax加载时,第二个ajax尝试加载的速度比第一个ajax快.第一个ajax有更多的信息,所以它可能需要加载一点时间?
有任何想法吗?谢谢也许有另一种方法将第二个ajax放在第一个成功之后,它会调用第二个ajax吗?
也许还有另一种方法可以将第二个ajax放在第一个如此成功的位置,它会调用第二个ajax吗?
就在这里:
$.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);
});
});
Run Code Online (Sandbox Code Playgroud)