jquery之get缓存问题的最简单方法介绍

 要解决该问题有很多办法,最直接的是把$.get()方法换成$.ajax(),然后配置cache:false即可。我不喜欢$.ajax()繁琐的配置方式,可采取以下最简单方式实现

在ie系列下,$.get()方法在url地址固定时,会缓存返回结果,导致不可预料的问题。但在火狐下,则不会缓存。

 

要解决该问题有很多办法,最直接的是把$.get()方法换成$.ajax(),然后配置cache:false即可。我不喜欢$.ajax()繁琐的配置方式,可采取以下最简单方式实现:

 

在$.get()的data后面加上新的随机参数,如{data: mydata, stamp:
Math.random() },由于每次数据不一样,故请求后返回的数据不会缓存。

 

另外也可把$.get()改成$.post(),也可解决此问题。

 

一劳永逸的解决办法是设置全局参数,$.ajaxSetup({cache:false});这样设置后,基本所有的get请求jquery都会自动加上_1948838字样的附加参数,总体来说与上面的解决方法类似。

 

例如:

$.get(“ProvinceListByCountryIDHandler.ashx”, { “cid”: $drpCountry.val(),
“time”: new Date().getTime() }, function(data, returnStatus) {})

 

 

要解决该问题有很多办法,最直接的是把$.get()方法换成$.ajax(),然后配置cache:false即可。我不喜欢$.a…

在ie系列下,$.get()方法在url地址固定时,会缓存返回结果,导致不可预料的问题。但在火狐下,则不会缓存。

要解决该问题有很多办法,最直接的是把$.get()方法换成$.ajax(),然后配置cache:false即可。我不喜欢$.ajax()繁琐的配置方式,可采取以下最简单方式实现:

在$.get()的data后面加上新的随机参数,如{data: mydata, stamp:
Math.random() },由于每次数据不一样,故请求后返回的数据不会缓存。

另外也可把$.get()改成$.post(),也可解决此问题。

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注