重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

AJAXの同期、非同期についての質問です。

xmlhttp.open("GET",xmlURL,true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
/* XMLデータ取得後、ここで処理する。。。 */
 ・・・
}
と定型的に使っていますが、XMLファイルを取得後に、
そのデータを使用してページを作っていく処理をしていますが、
openメソッドでtrueにしているので、非同期ということなので
XMLデータ取得後の処理がうまくいかず、その先の処理が先に
実行したりしてエラーになります。。

XMLデータを取得してそれを使う処理の場合は、
openメソッドでfalseにするべきなのでしょうか?
教えてください、お願いします。

A 回答 (1件)

後続処理をXMLデータ取得の後に記述すれば非同期でもOKかと。



【例】
xmlhttp.open("GET",xmlURL,true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
/* XMLデータ取得後、ここで処理する。。。 */
・・・
//後続処理実行
after();
}
}
//後続処理
function after(){
:
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!