尝试使用URLLoader获取数据时,我做错了什么?

时间:2011-05-01 01:56:21

标签: php mysql actionscript-3 flex4 flash-builder

嘿,我有一个动态生成以下内容的php文档:

peerID=e224d6cac76ef3181d4804858d82ebeee7e67ad7bdd7b02f3857a700b0ec7fbc

(来自get_peerID.php) 我正在使用以下AS3来尝试获取此数据:

private var myLoader:URLLoader = new URLLoader();    
private function sendData():void {
                writeText("sending data...");
                var objSend:Object = new Object;
                objSend.peerID = myID.text;
                put_peerID.send( objSend );
                writeText("http://localhost/example.com/scripts/get_peerID.php?peerID=" + myID.text);
                var myRequest:URLRequest = new URLRequest("http://localhost/example.com/scripts/get_peerID.php?peerID=" + myID.text);
                myRequest.contentType = "text/plain"; 
                //var myLoader:URLLoader = new URLLoader();
                myLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
                configureListeners(myLoader); //.addEventListener(Event.COMPLETE,onComplete);
                myLoader.load(myRequest);


            }

            private function configureListeners(dispatcher:IEventDispatcher):void {
                dispatcher.addEventListener(Event.COMPLETE, completeHandler);
                dispatcher.addEventListener(Event.OPEN, openHandler);
                dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
                dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
                dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
                dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            }

            private function completeHandler(event:Event):void {                
                writeText("completeHandler: " + myLoader.data.peerID);
            }

            private function openHandler(event:Event):void {
                writeText("openHandler: " + event);
            }

            private function progressHandler(event:ProgressEvent):void {
                writeText("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
            }

            private function securityErrorHandler(event:SecurityErrorEvent):void {
                writeText("securityErrorHandler: " + event);
            }

            private function httpStatusHandler(event:HTTPStatusEvent):void {
                writeText("httpStatusHandler: " + event);
            }

            private function ioErrorHandler(event:IOErrorEvent):void {
                writeText("ioErrorHandler: " + event);
            }

生成以下文本(来自writeText()):

 sending data...
http://localhost/example.com/scripts/get_peerID.php?peerID=5131079b60ba3ae05f9d54568896db1e04f772f97bb98c6d525cb8ba3032798b
openHandler: [Event type="open" bubbles=false cancelable=false eventPhase=2]
httpStatusHandler: [HTTPStatusEvent type="httpStatus" bubbles=false cancelable=false eventPhase=2 status=200 responseURL=null]

所以,它没有给我我需要的数据。我不确定下一步该尝试什么。我整天都在进出论坛,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

它无效,因为我在我的localhost上运行它。 Adobe说: 对于Flash Player 8及更高版本:

  • 如果是,则不允许加载数据 调用文件在 local-with-file-system沙箱和 目标资源来自网络 沙箱。
  • 如果是,也不允许加载数据 调用文件来自网络 沙箱和目标资源是 局部的。

发布后,将其上线并运行。