jquery ajax cache的问题

function test()
        {
            $.ajax({
                type:‘GET‘,
                url:"tt.php",
                data:"page=112",
                success:function(msg)
                {
                    alert(msg);
                }
            })    
        }
    </script>
    <a onclick="test()">test</a>
/*
ie下面只会建立一次 ajax 请求,将响应结果放在浏览器缓存里 下次调用该ajax请求时 从缓存里读取
火狐下面 每次激活事件 都会重新建立一次ajax请求
所以 ie 不能保证ajax数据的实时性 解决方式就是   cache:false
上次面试遇见这个问题了
*/

处理方法:

Ajax处理IE不更新的cache问题

在做ajax页面无刷新添加的时候,IE下遭遇Ajax缓存,因为刚开始并不知道IE有这个坏毛病,折腾好久,终于解决问题。总结一下解决办法:

在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱,[即get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端,而post方式因为参数的不同,不会产生这个问题]而FF下不会出现这种情况。为了不受缓存影响,可以这样做:

IE访问策略:Internet选项--浏览历史记录--设置-- Internet 临时文件的选项改为每次访问网页时也可以

1: 在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数

在javascript发送的URL后加上t=Math.random()

例如这样:URL+"&"+"t="+Math.random();或者new Date();

在 URL 参数后加上 "?timestamp=" + new Date().getTime();

最好的方法:

$.ajaxSetup({cache:false})

时间: 2024-10-12 17:11:53

jquery ajax cache的问题的相关文章

Jquery.Ajax cache 问题

今天遇到一个问题,下第一次可以请求到后台,在按F5请求不到. 我的IE,火狐,谷歌,没有出现问题,测试的机子上出现问题 查了一下,请求的时候返回304 果断缓存问题 $.ajax({ url: url + "?opType=" + method, dataType: dataType, data: data, cache:false, success: success, error: error }); cache 修改成false成功解决

jquery ajax 方法及各参数详解

jquery ajax 方法及各参数详解 1.$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息. 参数列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分

jQuery Ajax 全解析

jQuery Ajax 全解析 本文地址: jQuery Ajax 全解析 本文作者:QLeelulu 转载请标明出处! jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [d

jQuery.ajax(url,[settings])

概述 通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性. 最简单的情况下,$.ajax()可以不带任何参数直接使用. 注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置. 回调函数 如果要处理$.ajax()得到的数据,则需要使用回调函数.beforeSen

20150304+JQuery+AJax+插件-01

The Write Less,Do More--jQuery下 目录 The Write Less,Do More--jQuery下 1 一.each方法 2 二.jQuery中的ajax操作 3 1.ajax的底层实现 4 2.ajax的高级实现 7 1)模拟发送get请求 7 2)通过时间戳解决get请求缓存问题 8 3)模拟post请求 8 4)返回值类型 9 三.Ajax跨域请求--jsonp技术 11 1.Ajax跨域请求原理图 11 2.Ajax跨域请求不被允许的原因 11 3.js

Java程序员之JS(一) 之 JQuery.ajax

背景:紧着现在项目的需要,先从JQuery.ajax出发,主要需求是通过 js 调用Java 代码,从而适应现在的项目. 先从几个概念开始讲解: 一. 什么是Deferred  Deferred 对象是由.Deferred构造的, .Deferred被实现为简单工厂模式.它是用来解决JS中的异步编程,遵循 Common Promise/A规范,实现此规范的还有when.js 和 dojo. Deferred 对象在 JQuery 1.5被引入,用来解决 Ajax 异步优化问题,正是由于 Defe

【JavaScript】jQuery Ajax 实例 全解析

jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) :

jQuery Ajax 实例 ($.ajax、$.post、$.get)

Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. 推荐一篇不错的jQuery Ajax 实例文章,忘记了可以去看看,地址为:http://www.cnblogs.com/yeer/archive/2009/07/23/1529460.html 和 http://www.w3school.com.cn/jquery/ $.post.$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一.$

jQuery Ajax详解

jQuery Ajax 全解析 本文地址: jQuery Ajax 全解析 本文作者:QLeelulu 转载请标明出处! jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [d