.ajax()"GET"在.ajax()"GET"中,ajax调用现在正确显示

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吗?

bfa*_*tto 8

也许还有另一种方法可以将第二个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)

  • @ drew010,看起来我不是!:(我刚刚在他的代码中看到了这个评论:`<! - 这个div应该在ajax1.php中,所以它只在第一个ajax完成后出现.! - >` (2认同)