• ベストアンサー

alertを出さないと、正常に動作しない

Javascript初心者です。 現在JavascriptからPHPにデータを送信して、PHP側でデータをjsonで送信し Javascriptで受取り、データを表示しようとしています。 以下、サンプルです。 var jsonData; function aaa(){ var jsonText = XMLHttpRequest(phpからのjson受取) eval('jsonData=' + jsonText ); } function bbb(jsonData){ alert(); //←不要なアラート alert(jsonData[0]); } window.onload = function SetUp(){ aaa(); bbb(jsonData); } bbb内の最初のアラートを出すと、次のアラートでちゃんとデータを表示するのですが、 bbb内の最初のアラートを出さないと、次のアラートでデータが表示されません。 この最初のアラートを出さずにデータを取得する方法はあるのでしょうか? よろしくお願い致します。

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

  • ベストアンサー
回答No.3

XMLHttpRequestオブジェクトのopenメソッドで、第3引数は何を渡しておられるでしょうか? 希望される動作でしたら、第3引数にfalseを渡して同期通信にしてみてください。 非同期通信だとデータの受信が完了する前に次の処理が実行されることになります。

その他の回答 (2)

回答No.2

データの読み込みが完了してないのでは? XMLHttpRequestオブジェクトのデータ受信を完了を待ってからbbb()を実行するか、 同期通信にしてみてはいかがでしょうか。

  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.1

bbb(jsonData);を function aaa(){ } の中に持ってきたらどうですか?

関連するQ&A