• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryの戻り値がうまくいかない・・・)

jQueryの戻り値がうまくいかない・・・

このQ&Aのポイント
  • jQueryでXMLを読み込んでパースした値を戻り値として返す関数を作成していますが、うまく動作しません。
  • getValueXML関数を実行すると戻り値には初期値が返ってきます。
  • parse_suc関数内ではXMLのパースがうまくいっているようですが、parse_suc関数を出るとvalueにはその値が引き継がれません。

質問者が選んだベストアンサー

  • ベストアンサー
  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.1

jQuery.ajaxでasyncフラグを特にセットしていないので、 jQuery.ajaxはデフォルトの非同期通信動作をします。 なので、コールバック関数parse_sucが呼ばれるのは、 function getValueXMLを抜けた後です。 値引き継ぎとかスコープの問題以前に、 return value;を通過した時点では、まだparse_sucは呼ばれてさえいません。 あと、jQueryを使っていようがJavaScript のスコープは変わりませんよ。 (jQueryはただのライブラリなのでJavaScriptの言語仕様が変わったりはしない。)

suffre
質問者

お礼

こんな夜中にどうもありがとうございます! jQueryはそういう仕様だったのですね・・・。 asyncをfalseにして同期通信にしてみたらうまく戻り値に値が入りました! この辺り、もっと勉強しないとダメですね・・・。 教えてくださって本当にありがとうございました。