转自:http://bluewens.blog.163.com/blog/static/6991307201491311365445/
在使用IE8+后台语言(php,jsp,asp/asp.net C#等)进行开发时,大家有时在IE中进入修改页面修改数据并提交后,在后台数据库中能查询到数据,但在前台页面中却无法显示更新后的效果。
原因一般分为3种。
1)后台:后台查询显示时,有可能没有加悲观锁,导致查询时查询的是脏数据。
此处以hibernate为例,解决办法是在后台中,对hibernate的query或者criteria执行criteria.setLockMode(LockMode.UPGRADE); 加个悲观锁即可。
2)前台页面:一般是缓存配置有问题,需要在前台页面中加入类似如下:
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Expires" content="0" />
3)IE浏览器:此外,浏览器的配置也很重要,否则,前后台都配置正确了,但在浏览器中就是无法显示新的结果,而换个浏览器(如QQ浏览器)就可以。
解决办法:工具-》internet选项-》浏览历史记录,点击“设置”按钮,在弹出的对话框中,在检查网页的较新版本,将“自动”或其它选项,改为选择“每次访问网页时”即可。