我们先看看这个问题是怎么引起来的:
如果没有进行额外设置的话,如果请求的地址和参数及参数的值完全一样,就会发生jquery ajax使用缓存的情况。
jquery ajax使用缓存的解决方案:
1.在请求的url后面加上一个随机参数(***.do?random=Math.random)这不失为一个好方法,缺点就是在所有的jquery ajax请求的地方都要加上这个随机参数,新项目还行,老项目的花,这是个巨大的工作量。
2.给jquery ajax请求设置禁用缓存的全局设置
我们都知道在jquery ajax的的方法中有个cache参数,如果设置为false,那么就不进行缓存。这么怎么设置全局的jquery ajax cache参数呢?
答案就是ajaxSetup() 方法,该方法可以为所有的ajax请求统一设置默认参数。那么可以设置如下代码:
$(function(){
$.ajaxSetup ({
cache: false //关闭AJAX缓存
});
});
最后如果没有common.js文件(所有页面都调用的JS文件),那么把这段代码放到jquery库文件里面吧。
解答完毕!