ActionScript3错误处理URLRequest

时间:2013-04-03 11:04:24

标签: actionscript-3 flash actionscript as3xls

(ActionScript3)您好,我正在尝试解决为什么在通过第三方网站查看时URLRequest失败的原因。理想情况下,可以在下面的代码中指出任何错误,但是,我认为这很好,因为类似的事情我们做得很好。

理想的是URLRequest错误处理,如何找出URLRequest是不是从time.php中提取信息?即使它只是输出到时间轴上的文本框(从测试环境完成一切正常)

非常感谢 克雷格

情境:

  • domain.com(服务器1):file.swf使用URLRequest加载domain.com/time.php?a=b(因此PHP和SWF都托管在同一个域和服务器上)

  • example.com(服务器2):PHP页面嵌入file.swf(反过来URLRequests time.php)

成果:

  • 当你通过浏览器直接访问file.swf时,它会从time.php加载数据就好了

  • 当您查看页面文件。嵌入的文件时,在服务器2上加载失败


file.swf

var loaderNameHolder;
var loaderNameHolderLoader:URLLoader = new URLLoader();
var loaderNameHolderURLRqst:URLRequest = new URLRequest('http://domain.com/time.php?a=b');
loaderNameHolderLoader.addEventListener(Event.COMPLETE, loaderNameHolderURLFunc);
loaderNameHolderLoader.load(loaderNameHolderURLRqst);
function loaderNameHolderURLFunc(e:Event):void{
    loaderNameHolder = loaderNameHolderLoader.data
    gotoAndStop(loaderNameHolder);
}

安全

  • 在域的根文件夹上有一个跨域XML,它似乎没有区别(或者没有被正确引用/使用),但是提到类似的东西我没有修改这个XML就可以正常工作

3 个答案:

答案 0 :(得分:2)

这听起来像是一个安全问题,尽管你说你有跨域文件。

您是否使用Charles(http://www.charlesproxy.com/)等工具检查过http来电?这绝对是调试此类问题的最佳方法。

答案 1 :(得分:1)

感谢上面的提示,他们将成为很好的资源。

实际问题是请求的URL不包含“www”(我认为因为SWF嵌入了WWW所以它来自“外部”域。我想我需要www.domain.com in我自己的安全XML)。

克雷格

答案 2 :(得分:0)

尝试添加此代码

Security.allowDomain("*");
Security.loadPolicyFile("http://domain.com/crossdomain.xml");

并使用此处给出的链接阅读有关crossdomain.xml的信息:https://stackoverflow.com/a/9728845/2234089