识别Actionscript 3中的PHP错误?

时间:2012-02-07 21:10:26

标签: php actionscript-3 flex flex4 flex4.5

我正在连接到Actionscript 3(Adobe Flex)中的一些PHP文件。 但是当其中一个PHP文件出错时,我的Flash项目就不再正常工作了。

是否有可能在Actionscript中检测到PHP错误,以便我可以显示带有Actionscript的消息,说明出现了问题?

感谢。

3 个答案:

答案 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代码,但你应该明白这一点。