IE缓存问题?

2021-03-11 13:36发布

5条回答

一、IE浏览器缓存的内容分析:

  IE浏览器会缓存网页中的GETXHR的内容,并且在IE浏览器中如果请求方式是get方式的话,IE浏览器会进行识别,如果该get请求的url是第一次请求的话,会请求项目的后台,从数据库中获取数据,如果该get请求的url不是第一次请求的话,那么该url就不会请求项目后台,IE浏览器会直接从缓存中拿到上次该url获取的数据,无论是什么插件的get方式请求,IE浏览器都会这样进行处理的;  

  这是一个非常严重的问题,坑死人了。。。

二、IE浏览器中各种插件或请求获取的数据与数据库的数据不同步的原因:

  各种插件或请求如果是利用get方式请求的时候,在IE浏览器中都会按照IE浏览器缓存机制进行处理的,因此会产生网页中的数据与数据库的数据不同步的现象;

三、解决IE浏览器中显示数据与数据库的数据不同步的方法:

  方法一:提交方式是get方式,但是在传递的参数中添加一个随机数或当前时间戳的参数,从而保证每次url请求唯一性,从而解决在IE浏览器中从数据库中获取数据

  方法二:提交方式修改为post方法,这样就不会出现这样的问题了;

四、bootstrap-table插件实例解决过程:

  1、问题描述:bootstrap-table插件在使用IE浏览器打开时,使用增加、修改、删除等功能,操作成功后,网页中显示的数据是操作之前的,但是数据库中的数据已经发生了改变,网页中的数据不能够与数据库数据保持一致;

  2、问题思路:该问题还是因为IE浏览器中对get方法请求的处理方式和IE浏览器中的缓存问题,具体原因见上述一和二的分析;

  3、解决方法:

  方法一:

  bootstrap-table插件提交方式是get方式,但是在传递的参数中添加一个随机数或当前时间戳的参数(此参数在后台是没有用的,只是用来保证每次请求的url唯一性);

  方法二:

  bootstrap-table插件提交方式是post方式,并且在bootstrap-table中添加一个配置信息:contentType : "application/x-www-form-urlencoded"

  通过以上两种方法中的任意一种,都可以解决IE浏览器中因为缓存问题,而导致bootstrap-table插件中网页的数据与数据库数据不一致的问题;

  IE浏览器的缓存问题非常的严重,网上也没有一篇完整的解决思路和文档,特此写下解决方法,供自己以后查看。。。


一周热门 更多>