2 つの ajax 呼び出しがありますが、何らかの理由で ajax の 1 つが計画どおりに機能していません。
1 つの 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);
そのようですが、うまくいきません。最初の .done() ajax 関数内に ajax 関数全体を入れようとしましたが、うまくいきません。
これは、最初の ajax がロードされるときに、2 番目の ajax が最初の ajax よりも速くロードしようとすることが原因である可能性があります。最初の ajax にはより多くの情報が含まれているため、ロードに時間がかかる場合があります。
何か案は?ありがとう たぶん、最初の ajax 内に 2 番目の ajax を配置する別の方法があるので、成功すると、2 番目の ajax が呼び出されますか?