IE下jquery ajax无法获得最新数据的问题解决(IE缓存)_AJAX相关

今天修改一个bug,利用ajax查询数据,在谷歌浏览器下可以获取到最新数据,而在IE中获得是旧数据,无法获得最新的数据,经查资料,才发现时IE缓存再作怪。
发现此ajax请求用的get方式,每次请求的URL一模一样,IE浏览器有个特殊的地方,如果每次请求的URL一样时,就会拿出缓存中已有的数据显示在页面上,并不会再次去查询数据库,所以每次显示的都是旧数据。

解决办法:
那就有思路了,我们可以让它每次请求的URL不一样,可以加一个参数,而且这个参数的值每次都不一样,时间戳最好不过了。

复制代码 代码如下:

url: '{0}/portal/articleManager/getContents?id={1}&date={2}'.format(window.baseUrl, $("#id").val(), new Date())

其中id是有用的参数,而date参数我们不做处理就好了。

查资料得知,用post方式请求可以避免在这个问题,POST被认为是一个变动性访问(浏览器认为POST的提交,必定是有改变的)。
还有一个更简便的方法,设置:

复制代码 代码如下:

cache:false,

前提就是此请求的cache还不存在。

时间: 2025-01-21 16:49:38

IE下jquery ajax无法获得最新数据的问题解决(IE缓存)_AJAX相关的相关文章

IE下jquery ajax无法获得最新数据的问题解决(IE缓存)

今天修改一个bug,利用ajax查询数据,在谷歌浏览器下可以获取到最新数据,而在IE中获得是旧数据,无法获得最新的数据,经查资料,才发现时IE缓存再作怪. 发现此ajax请求用的get方式,每次请求的URL一模一样,IE浏览器有个特殊的地方,如果每次请求的URL一样时,就会拿出缓存中已有的数据显示在页面上,并不会再次去查询数据库,所以每次显示的都是旧数据. 解决办法: 那就有思路了,我们可以让它每次请求的URL不一样,可以加一个参数,而且这个参数的值每次都不一样,时间戳最好不过了. 复制代码 代

jquery访问servlet并返回数据到页面的方法_AJAX相关

本文实例讲述了jquery访问servlet并返回数据到页面的方法.分享给大家供大家参考.具体实现方法如下: 1. servlet:AjaxServlet.java如下: 复制代码 代码如下: package com.panlong.servlet;  import java.io.IOException;  import java.io.PrintWriter;  import java.net.URLDecoder;  import javax.servlet.ServletExceptio

ajax请求之返回数据的顺序问题分析_AJAX相关

本文实例分析了ajax请求之返回数据的顺序问题.分享给大家供大家参考,具体如下: ajax请求一个url,php后端处理后,数组为如下格式: 复制代码 代码如下: $a = array( '-1'=> 10 ,'-3' => 2, '0' => '5' ,'-2' => 4); 然后使用php的asort函数对数组按照value进行升序排序后,如下: 复制代码 代码如下: $a = array('-3' => 2, '-2' => 4,'0' => '5', '-

利用 Linq+Jquery+Ajax 实现异步分页功能可简化带宽压力_AJAX相关

在Web显示的时候我们经常会遇到分页显示,而网上的分页方法甚多,但都太过于消耗带宽,所以我想到了用Ajax来分页,利用返回的Json来处理返回的数据,大大简化了带宽的压力.先说下思路,无非就是异步执行ajax 把新列表所需要的数据用json格式返回来,输出table,你可以输出ui li(输出效率高) 在页面上. 效果图:  Html代码: 复制代码 代码如下: 设置它们的Class = "page" 以便于给它们增加Click事件操作分页 <div id="showP

jquery Ajax 实现加载数据前动画效果的示例代码

 本篇文章主要是对jquery Ajax实现加载数据前动画效果的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: $(document).ready(function(){      $.ajax({         type:"get",         cache:false,         url:"ajaxpage.aspx?t=getcity",         dataType:"json",    

jquery ajax-使用jquery.ajax向后台接收数据

问题描述 使用jquery.ajax向后台接收数据 发送数据是直接用 来发送. ashx中返回了context.Response.ContentType = "text/plain"; context.Response.Write(result); 其中result是StringBuilder. 我想在该页面,用jquery.ajax接收数据, $.ajax({ type: 'get', url: 'test.ashx', dataType: "text", suc

用jquery ajax从数据库获取数据实现二级联动

问题描述 用jquery ajax从数据库获取数据实现二级联动 我的思路就是一级那里搞个select,然后利用ajax返回action.然后利用ajax那里不懂.哪位大神教我怎么做? 1.这是select, function select(){ var xitong=document.getElementById("xitong").value; $.ajax({ url:'/netbank/budiao/testaj', type:'post', dataType:'json', d

sqlserver-求一个asp.net 的运用jquery ajax先数据库 添加数据的实例

问题描述 求一个asp.net 的运用jquery ajax先数据库 添加数据的实例 我在做一个asp.net技术做的问卷调查页面,需要把每一项的文本都添加到sqlserver数据库,大概20个选项,每个选项平均有100个字左右 我想问一下 这么大的数据量用jquery ajax 真的可以吗? 如果可以,请各位大神做个用jquery ajax做一个向数据库添加的实例给我,要注释齐全,代码规范的,谢谢! 解决方案 ajax和普通表单提交一样,你数据量大要使用post提交,没有什么ajax不可以的.

jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签_jquery

废话不多说了,直接给大家贴代码了,具体内容如下所示: // js <script type="text/javascript"> function myBtn_f() { var cnt = $('#myCnt').val(); syncAjax('myAjax.html', { 'cnt' : cnt }, function(result) { if (100 == result.statusCode) { var data = result.lst; var $d =