今回は、Ajax リクエストでの async:false と async:true の違いについて説明します。一見。
例は次のとおりです: function test(){
var temp="00";
$.ajax({
async: false,
type : "GET",
url : 'userL_checkPhone.do',
complete: function(msg){
alert('complete');
},
success : function(data) {
alert('success');
temp=data;
temp="aa";
}
});
alert(temp);
}
UserLAction checkPhone()メソッド public void checkPhone() throws IOException {
this.getServletResponse().setContentType("text/html; charset=UTF-8");
this.getServletResponse().setHeader("Cache-Control", "no-cache");
PrintWriter out = this.getServletResponse().getWriter();
out.print("true");
}
このtest()ではasync: falseが同期されている場合、メソッド Ajax リクエストはブラウザ全体をロックします。
userL_checkPhone.do の実行が完了した後にのみ、
他の操作を実行できます。つまり、実行結果は最初にalert('success');alert("aa");
async: trueの場合、ajaxリクエストは非同期になります。しかし、問題があります。test() の ajax リクエストとその後の操作は非同期で実行されるため、userL_checkPhone.do の実行が完了していないときに、ajax リクエストに続く操作が実行された可能性があります。そのため、結果はアラート ( 'success');alert('complete');alert("00");このように、alert("success") とalert(temp) がほぼ同時に実行されることがわかります。 value temp = "00" (temp="aa" ではなく) です。この記事のケースを読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨読書:Ajax+mysqlでメッセージボード機能を作成
ajaxを使用してデータページングクエリを実装する手順の詳細な説明
以上がAjax リクエストの async:false と async:true の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。