Jquery和struts2一起使用的问题。

hicourage9 2012-04-17 09:49:40
小弟编了一个网页,JS脚本里面动态调用一个Action,读取数据库数据,然后返回JSON,语句如下
$.get("GetJSONAction",function(date){beginchart(date);});
现在我发现一个问题
用IE8打开网页,第一次运行这个这个网页的时候,一切正常。
然后我手动修改了数据库里面的数据,再刷新这个网页,发现返回的数据是没有修改之前的。控制台显示的信息是Action没有执行,所以没有执行从数据库重新读取数据的操作。
然后我关闭这个网页,再重新打开一个,发现一切正常,Action执行了,数据刷新了。

因此貌似得出结论,在不关闭网页,只是刷新网页的话,Action只执行一次,以后再怎么刷新,GetJSONAction都不执行了,因此数据都是陈旧的,不更新了。这是为什么啊,难道Jquery就是这样??

我在firefox浏览器里面实验发现就没有此问题,每次刷新网页,Action就执行一次,数据总是更新后的。迷茫啊,求解答!
...全文
163 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
_四叶草_ 2012-04-17
  • 打赏
  • 举报
回复
缓存的问题,页面上<HEAD></HEAD>标签内写上如下内容就可以了
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
hicourage9 2012-04-17
  • 打赏
  • 举报
回复
$.get("GetJSONAction",{time:new Date().getTime()},function(date){beginchart(date);}); 解决问题了,谢谢各位!!
hicourage9 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

对,这是缓存的问题引起的,要不你在请求的URL后加一个时间戳的参数。
[/Quote]

怎么加时间戳呢?具体一下呗
hicourage9 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

缓存的问题,页面上<HEAD></HEAD>标签内写上如下内容就可以了
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
[/Quote]

这段代码一直都有的,貌似不解决问题。
licip 2012-04-17
  • 打赏
  • 举报
回复
对,这是缓存的问题引起的,要不你在请求的URL后加一个时间戳的参数。

52,782

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧