HTTPService不检索当前数据

时间:2010-10-13 16:55:15

标签: flex actionscript-3

我正在使用mx.rpc.http.HTTPService从Web服务中检索数据。在最初调用“loadWsData”时,HTTPservice准确地检索所有数据。

但是,在任何和所有后续调用中,HTTPService都无法准确地检索数据;相反,它总是检索第一个数据集。我已经确认Web服务正在提供来自Web浏览器和ruby ws客户端脚本的准确数据。

我的代码如下;关于什么可能是问题的任何想法?

private function loadWsData(id:int):void
{
    var webService:HTTPService = new HTTPService();
    webService.url = "http://xxx.xxx.xxx.xxx:8080/profile/ + id;
    webService.method = "GET";    
    webService.addEventListener(ResultEvent.RESULT, function(event:ResultEvent):void
    {
        var rawData:String = String(event.result);
        var user:Object = JSON.decode(rawData).user; // User object always reflects the first data set retrieved.
        ....
        ....
    });
    webService.send();
}

1 个答案:

答案 0 :(得分:0)

不确定问题可能是什么,但我有一些关于在哪里寻找的建议。

首先,您的代码中似乎存在错误; webService.url行缺少引号。这可能会弄乱您正在发送的想法的网址。奇怪的是,因为我不认为你所展示的内容会编译,所以我怀疑当你把它发布到StackOverflow时这只是一个剪切和粘贴错误,但我会追踪到这个URL只是为了确定。 / p>

另外,我没有看到删除事件监听器的代码(虽然它可能在你用省略号缩写的代码中)。除了你期望的事件之外,还有可能会有一些挥之不去的事件监听器吗?如果原始事件侦听器触发,它将使用原始数据触发。

另一个建议:不要使用闭包,而是尝试将其拉出到单独的函数中。这应该不是问题,但也许范围在这里起作用。

您可以尝试发布结果。

您还可以为FAULT添加一个事件侦听器,并查看您的服务请求是否存在任何错误。