我的应用程序直到今天都工作得很好。问题是每次对amfphp的请求都会返回一个错误消息,如:
Client.Error.Message Send
Fail to send
实际上,这条消息是我放在调用者中的fault
函数。
<s:CallResponder id="tracefilm"/>
<trace:Trace id="traceFilm" fault="Alert.show(event.fault.faultString + 'n' + event.fault.faultDetail)" result="traceMaked(event)" showBusyCursor="true"/>
因为我不知道如何找到问题在哪里…我将尝试查看在执行期间FF的firebug插件会发生什么。
解决方案很简单。我刚刚在一个旧的流媒体应用程序(100% flash)中修复了这个问题。
如果你在一个旧的应用程序中遇到这个问题,你可能没有在web服务器的根目录下有crossdomain.xml文件。有关详细信息,请参阅Adobe解释。
我找到了解决方案,感谢firebug。事实上,在Flash加载期间,浏览器试图访问一个名为crossdomain.xml
的文件。当然,服务器的响应是404。
你只需要在服务器中创建crossdomain.xml
,并在里面添加这段代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
现在你的应用程序,像我的一样,将再次工作。