ActionScript3处理URLRequest错误



(ActionScript3)嗨,我想弄清楚为什么URLRequest在通过第三方网站查看时失败。理想情况下,任何错误都可以在下面的代码中指出,然而,我认为这很好,因为类似的事情我们做得很好。

下一个理想的将是URLRequest错误处理,我怎么能找出为什么URLRequest不从time.php提取信息?即使它只是输出到时间轴上的文本框(从测试环境中完成时一切都很好)

多谢克雷格

场景:

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

  • example.com (Server 2): PHP页面嵌入file.swf(反过来URLRequests . PHP)

结果:

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

  • 当您查看页面文件swf被嵌入时,在Server 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

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

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

感谢上面的提示,它们将是很好的资源。

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

克雷格

尝试添加以下代码

Security.allowDomain("*");
Security.loadPolicyFile("http://domain.com/crossdomain.xml");
使用这里给出的链接阅读crossdomain.xml: https://stackoverflow.com/a/9728845/2234089

相关内容

  • 没有找到相关文章

最新更新