Actionscript 3 失败时如何访问HTTP响应正文?
当web服务调用失败并且我的“错误”事件侦听器被调用时,如何访问HTTP响应主体?我可以看到原始消息,但找不到访问响应的方法 下面是我如何称呼Web服务的Actionscript 3 失败时如何访问HTTP响应正文?,actionscript-3,apache-flex,flex4,httpservice,Actionscript 3,Apache Flex,Flex4,Httpservice,当web服务调用失败并且我的“错误”事件侦听器被调用时,如何访问HTTP响应主体?我可以看到原始消息,但找不到访问响应的方法 下面是我如何称呼Web服务的 var connect: HTTPService = new HTTPService; connect.url = "https://app.XYZ.org/services/code?format=xml"; connect.method = "POST"; connect.contentType = "application/x-www-
var connect: HTTPService = new HTTPService;
connect.url = "https://app.XYZ.org/services/code?format=xml";
connect.method = "POST";
connect.contentType = "application/x-www-form-urlencoded";
connect.showBusyCursor = true;
connect.resultFormat = "xml";
connect.addEventListener("result", retrieveResults);
connect.addEventListener("fault", retrieveResults);
var params:Object = new Object;
params.username = user;
params.password = password;
params.code = "123";
connect.request = params;
connect.send();
和我的事件处理函数
private function retrieveResults(event:Event): void
{
var success:Boolean = event.type == ResultEvent.RESULT;
..
}
我几乎可以肯定这不会发生。但根据错误,您可以尝试将这两个侦听器添加到加载程序:
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, httpIOErrorHandler);
其中一个给出了状态,因此您可以找到错误。如果状态是正确的,则后者将为您带来结果(loader.data)。在某些情况下,空气可以给你反应,但闪光不能。你应该两种都试试
无论如何,我认为最好处理内部错误并返回ok(状态200),其中包含一条错误消息。Flash的http状态非常糟糕:)谢谢你的建议。我试试看,然后再报告。很遗憾,我无法更改webservice实现。我正在AdobeAIR for Android上使用URLLoader,在HTTP 400响应后,我能够在IO_错误处理程序中获得响应体。