当Web服务调用失败并且我的错误"时,如何访问HTTP响应正文?事件监听器是打电话吗?我可以看到原始邮件,但无法找到访问响应的方法。
以下是我如何调用网络服务
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;
..
}
答案 0 :(得分:3)
我几乎肯定这不可能发生。但是根据错误,您可以尝试将这两个侦听器添加到加载器:
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, httpIOErrorHandler);
一个给出状态,因此您可以找到错误。如果状态是正确的,后者应该为您带来结果(loader.data)。在某些情况下,AIR可以给你回复,但Flash无法做到。你应该尝试两种方式。
无论如何,我认为最好处理内部错误并返回ok(状态200),其中包含错误消息。使用http状态Flash非常糟糕:)