Flex缓存问题

发布于 2024-11-07 07:08:16 字数 81 浏览 0 评论 0原文

我通过flex向服务器查询,第一次它显示结果,但是当我下次插入新记录并查询时,它仅显示以前的结果(在I​​E中面临问题,但在chrome中则不然)。

I am querying to server through flex,first time its show the result but when I insert a new record and query next time,its shows previous results only(problem facing in IE but not in chrome).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感悟人生的甜 2024-11-14 07:08:16

您可以参数化您的 http(?) 请求,并通过设置始终变化的参数,您可以确保您的响应永远不会从缓存中读取。
在下面的示例中,我使用名为 nocache 的参数来完成此任务:

您可以在 url 字符串中设置 nocache 参数:

var url:String = "http://data.your.server?nocache=" + new Date().getTime();

或者 - 如果您使用 URLRequest,您可以在其数据成员中设置它:

//the url from where you get the data
var url:String = "http://data.your.server";

var urlVars:URLVariables = new URLVariables();
urlVars.nocache = new Date().getTime();
//set the other parameters (if any)

//attach the parameter list to your request
var request:URLRequest = new URLRequest(url);
request.data = urlVars;

更新
这里的 new Date().getTime() 将返回系统的当前时间(以毫秒为单位),这样您就可以确定,它不会再次使用此参数值调用。

You can parametrize your http(?) request, and by setting an always changing parameter, you can make sure that your response never gets read from cache.
In the examples below I use a parameter with the name nocache for this task:

You can set the nocache parameter in your url string:

var url:String = "http://data.your.server?nocache=" + new Date().getTime();

Or -if you use a URLRequest, you can set it inside its data member:

//the url from where you get the data
var url:String = "http://data.your.server";

var urlVars:URLVariables = new URLVariables();
urlVars.nocache = new Date().getTime();
//set the other parameters (if any)

//attach the parameter list to your request
var request:URLRequest = new URLRequest(url);
request.data = urlVars;

Update
Here the new Date().getTime() will return the system's current time in milliseconds, so this way you can be sure, that it won't get called with this parameter value again.

甜柠檬 2024-11-14 07:08:16

那是因为 IE 缓存了您的请求。

将随机查询字符串参数添加到您使用的远程 URL,例如 http://myserver.com/fetch_data?random=4234324

(随机并不是指一直使用 4234324,而是使用actionscript 生成随机数并将其附加到 URL)

请参阅来自 adobe 的此知识库

That's because IE caches your request.

Add a random query string parameter to the remote URL you use, like http://myserver.com/fetch_data?random=4234324

(And by random I don't mean use 4234324 all the time, use actionscript to generate a random number and append it to the url)

See this KB from adobe

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文