文章详细
IE ajax缓存问题
 2013/10/11 14:36:53 评论:0人 阅读次数:5616

在默认情况下,IE会缓存相同地址ajax请求的结果。IE的第一次ajax请求会发送到服务器端处理,如果后续的请求的参数与第一次的一样,浏览 器会直接返回缓存的结果而不是去服务器获取。有时候我们希望获取实时的数据,那么该如何解决这个问题呢?只要在ajax请求中加一个时间戳参数或随机参数 就可以了。jQuery ajax中提供了一个cache属性来解决浏览器的缓存问题。

cache的默认值为true, 如果设为false, 它会强制请求的页面不会被浏览缓存。设置cache为false时会在query string中追加一个"_=[时间戳]"的参数。

$.ajax({
    url: "your url",
    type: "GET",
    dataType: "json",
    cache: false,  // 强制浏览器不缓存页面
    data: { "action": "getinfo" },
    success: function(data) {
        // TODO code here.
    }
});

如果使用$.get或$.post方法,这两个方法没有cache这个参数,我们只要加一个随机参数即可,如r=Math.random().

$.get(
    "your url",
    { "action": getinfo, "r": Math.random() },
    function(data) {
        // TODO code here.
    },
    "json"
)
如需转载请注明出处:http://www.86y.org/art_detail.aspx?id=623【IE ajax缓存问题】幸凡学习网
0
 
相关文章
推荐文章
Created By Charry-May 3,2010
粤ICP备10093478号-1
顶部