0

次のコードを見てください。

    var eee = "";
    var myRequest:URLRequest = new URLRequest(myURL);
    var myLoader:URLLoader = new URLLoader();
    myRequest.method = URLRequestMethod.GET;
    myLoader.addEventListener(Event.COMPLETE, sendComplete);

    eee +=  "33";
    test.text = eee;
    myLoader.load(myRequest);
    eee +=  "22";
    test.text = eee;

    function sendComplete(e:Event):void
    {
        var varsFromASP = new URLVariables(e.target.data);
        var itemString = varsFromASP.resultStr;
        test.text = eee;
        input.text = itemString;
    }

cs5 フラッシュ環境内から実行すると (ctrl+enter をクリックして)、期待どおりに実行されます。テスト テキスト ボックスに「3322」が表示され、入力テキスト ボックスにローダーから取得した文字列が表示されます。 . しかし、フラッシュの外側から実行すると (swf をダブルクリック)、テスト テキスト ボックスに "33" しか表示されません。

「ロード」機能の後には何も起こりません。

それを修正する理由と方法はありますか?

4

1 に答える 1

0

sendComplete 関数が起動していないようです。何らかの理由で、おそらく load メソッドでエラーが発生しているため、それ以下では何も発生しません。sendComplete() 内にトレースを入れて、それが起こっていることを確認してください。

于 2013-09-16T17:17:03.753 に答える