以前の答え(どれも正しい)はどれも私の状況に適していませんでした。async
パラメーターを使用jQuery.ajax()
せず、返されるコンテンツの一部として次のようにスクリプトタグを含めていません。
<div>
SOME CONTENT HERE
</div>
<script src="/scripts/script.js"></script>
私の状況では、2つのdivを同時に更新する目的で、2つのAJAXリクエストを連続して呼び出しています。
function f1() {
$.ajax(...); // XMLHTTP request to url_1 and append result to div_1
}
function f2() {
$.ajax(...); // XMLHTTP request to url_2 and append result to div_2
}
function anchor_f1(){
$('a.anchor1').click(function(){
f1();
})
}
function anchor_f2(){
$('a.anchor2').click(function(){
f2();
});
}
// the listener of anchor 3 the source of problem
function anchor_problem(){
$('a.anchor3').click(function(){
f1();
f2();
});
}
anchor_f1();
anchor_f2();
anchor_problem();
をクリックするa.anchor3
と、警告フラグが発生します.f2呼び出しをclick()
関数で置き換えることで問題を解決しました:
function anchor_problem(){
$('a.anchor_problem').click(function(){
f1();
$('a.anchor_f2').click();
});
}