现在的位置: 首页 > 综合 > 正文

用HTTPService读取更新数据的问题

2013年09月07日 ⁄ 综合 ⁄ 共 620字 ⁄ 字号 评论关闭

前篇文章写了如何通过flex录入数据,同理我们也可以通过flex端来修改和删除数据,但数据更新后遇到一个问题,

flex端无法得到更新后的数据。

当清除浏览器缓存后,flex得到更新的数据,结论是缓存问题。

首先考虑是html缓存,试过加cache文件头等方法后,问题依然。

然后考虑可能是flash的缓存,通过给html页面的swf引用添加时间戳,问题照旧。

最后想到是不是REST的缓存问题呢,因为REST的调用方式是通过http,浏览器会对相同的url调用进行缓存。

修改REST的调用方法,增加url随机数,问题解决。

var featureService:HTTPService = new HTTPService();
var rnd : Number = Math.round(Math.random()*1000);
var featureServiceURL:String =  configXML..service.company; 
featureService.url = featureServiceURL+"?rand="+rnd;
featureService.method = "GET";
featureService.addEventListener(ResultEvent.RESULT,parseXML);
featureService.send();

但是如果调用flex的api比如FindTask取数据,却没有设置缓存的参数,难道没人遇到过这样的问题吗?

抱歉!评论已关闭.