我正在连接到Actionscript 3(Adobe Flex)中的一些PHP文件。 但是当其中一个PHP文件出错时,我的Flash项目就不再正常工作了。
是否有可能在Actionscript中检测到PHP错误,以便我可以显示带有Actionscript的消息,说明出现了问题?
感谢。
答案 0 :(得分:2)
如果问题实际上导致调用抛出错误,我相信你会在AS3中收到FaultEvent而不是ResultEvent,并且可以为它添加一个监听器。如果它不是抛出错误的情况,而是它只是炸弹,你可以在响应中放入一些文本表明它已成功完成。如果您返回XML作为结果,则可以在处理结束时包含一个节点,例如" processingCompletedSuccess"并在Flex中的结果处理程序中查找此节点,或类似地,如果它是平面文本结果,您可以附加"成功"作为最后一个单词,然后读取结果处理程序中的最后一行,看看它是否表示成功(将其剥离以进行进一步处理)。
答案 1 :(得分:2)
这取决于错误是什么。如果是致命的,不可捕获的错误,那么没有。但是,大多数错误都可能是可捕获的,因此可以通过适当的错误进行响应来处理。
看看:
http://php.net/manual/en/function.set-exception-handler.php
http://www.php.net/manual/en/function.set-error-handler.php
答案 2 :(得分:1)
您没有说明从“PHP文件”返回的数据类型,所以我认为它是XML。
当我使用XML时,我将我的XML标准化为遵循非常特定的光格式。
<root>
<data>
// your data here
</data>
<error/>
<message/>
</root>
在我的php中,我将它包装在try catch中。在catch块中,我将在消息节点内返回错误。并将在错误节点内分配1 所以错误消息可能看起来像这样。
<root>
<data/>
<error>1</error>
<message>some error from php here</messge>
</root>
所以在AS方面我需要做的就是测试
response.error == 1
psudo代码,但你应该明白这一点。