zoukankan      html  css  js  c++  java
  • IE ajax缓存问题

    在默认情况下,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'
    )
  • 相关阅读:
    第五周学习进度
    第四周学习进度
    四则运算三
    第三周学习进度
    软件工程个人作业—四则运算2
    软件工程个人作业01
    软件工程概论—用户登录界面
    构建之法读书笔记06
    构建之法读书笔记05
    构建之法读书笔记04
  • 原文地址:https://www.cnblogs.com/vanzheng/p/ie-ajax-cache-issue.html
Copyright © 2011-2022 走看看