我必须从外部域加载XML,所以我的代码看起来像这样
var loader:URLLoader = new URLLoader();
configureListeners(loader);
var request:URLRequest = new URLRequest("http://demo.softsolutions4u.com/ss4uplayer/modules/podcast/lib/PlayerAPI.php");
try {
loader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}
function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
trace("completeHandler: " + loader.data);
datas.appendText("completeHandler: " +loader.data);
}
function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
datas.appendText("securityErrorHandler: " +event);
}
但它在运行时抛出异常
securityErrorHandler: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Security sandbox violation: http://192.168.2.55/onlinemovie/Development/SS4UPlayer310310/test.swf cannot load data from http://demo.softsolutions4u.com/ss4uplayer/modules/podcast/lib/PlayerAPI.php."
还加载了Crossdomain XML文件,安全性allodomain位于(*)中。 请告诉我这里错过了什么。
它不是那样的。我们不会使用flash swf文件,但是我们的'N'没有客户端会在他们的服务器中使用这个swf,所以在那种情况下我怎么能放置crossdomain.xml。我不知道我应该把它放在哪里。请帮我解决。
答案 0 :(得分:1)
我没有在位置http://demo.softsolutions4u.com/crossdomain.xml看到crossdomain.xml,它返回404错误。您应该将crossdomain.xml放在域的根目录下,然后重试。
答案 1 :(得分:1)
尝试添加此行
Security.allowInsecureDomain("demo.softsolutions4u.com");
您应该只能在Flash IDE或客户端服务器上测试影片