一、问题原因
IE浏览器会缓存网页中的GET和XHR的内容,并且在IE浏览器中如果请求方式是get方式的话,IE浏览器会进行识别,如果该get请求的url是第一次请求的话,会请求项目的后台,从数据库中获取数据,如果该get请求的url不是第一次请求的话,那么该url就不会请求项目后台,IE浏览器会直接从缓存中拿到上次该url获取的数据,无论是什么插件的get方式请求,IE浏览器都会这样进行处理的;
IE浏览器中各种插件或请求如果是利用get方式请求的时候,同样会产生网页中的数据与数据库的数据不同步的现象。
二、解决办法
方法一:提交方式是get方式,但是在传递的参数中添加一个随机数或当前时间戳的参数,从而保证每次url请求唯一性,从而解决在IE浏览器中从数据库中获取数据;
建议只用于get请求
方法二:提交方式修改为post方法,这样就不会出现这样的问题了;
方法三:在请求代码中加入如下参数,指示该请求需要从服务器中刷新数据。
请求头里面:setHeader(“Cache-Control”, “no-cache”)
setHeader(“Pragma”, “no-cache”)
setDateHeader(“Expires”, -1)