- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryの戻り値がうまくいかない・・・)
jQueryの戻り値がうまくいかない・・・
このQ&Aのポイント
- jQueryでXMLを読み込んでパースした値を戻り値として返す関数を作成していますが、うまく動作しません。
- getValueXML関数を実行すると戻り値には初期値が返ってきます。
- parse_suc関数内ではXMLのパースがうまくいっているようですが、parse_suc関数を出るとvalueにはその値が引き継がれません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
jQuery.ajaxでasyncフラグを特にセットしていないので、 jQuery.ajaxはデフォルトの非同期通信動作をします。 なので、コールバック関数parse_sucが呼ばれるのは、 function getValueXMLを抜けた後です。 値引き継ぎとかスコープの問題以前に、 return value;を通過した時点では、まだparse_sucは呼ばれてさえいません。 あと、jQueryを使っていようがJavaScript のスコープは変わりませんよ。 (jQueryはただのライブラリなのでJavaScriptの言語仕様が変わったりはしない。)
お礼
こんな夜中にどうもありがとうございます! jQueryはそういう仕様だったのですね・・・。 asyncをfalseにして同期通信にしてみたらうまく戻り値に値が入りました! この辺り、もっと勉強しないとダメですね・・・。 教えてくださって本当にありがとうございました。