没有合适的资源?快使用搜索试试~ 我知道了~
本文实例分析了ajax调用中ie缓存问题解决方法。分享给大家供大家参考,具体如下: ajax请求调用的过程中发现的问题:后台请求是一个简单的.aspx文件,而这个页面又没有考虑过缓存的影响,使用ajax调试的时候发现有时候根本不走后台代码直接返回结果了,所以估计是受到浏览器缓存的影响。网上搜了一下,果然是缓存的问题:“IE中如果XMLHttpRequest提交的URL与历史一样则使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据或新的数据”。 解决方法大致有下面几种: 1、只改进服务器端 (1)后台是简单的.aspx文件,直接加上 代码如下:<%@ OutPutCache Locatio
资源详情
资源评论
资源推荐
ajax调用中调用中ie缓存问题解决方法缓存问题解决方法
本文实例分析了ajax调用中ie缓存问题解决方法。分享给大家供大家参考,具体如下:
ajax请求调用的过程中发现的问题:后台请求是一个简单的.aspx文件,而这个页面又没有考虑过缓存的影响,使用ajax调试的
时候发现有时候根本不走后台代码直接返回结果了,所以估计是受到浏览器缓存的影响。网上搜了一下,果然是缓存的问
题:“IE中如果中如果XMLHttpRequest提交的提交的URL与历史一样则使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据或与历史一样则使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据或
新的数据新的数据”。
解决方法大致有下面几种:
1、只改进服务器端、只改进服务器端
(1)后台是简单的.aspx文件,直接加上 代码如下:<%@ OutPutCache Location=”None”%>即可。
(2)但是如果后台是.ashx文件通常在类里直接修改缓存设置。
代码如下:context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
2、只改进客户端、只改进客户端
(1)利用加随机数或加时间戳改变请求地址
a、加随机数: 代码如下:var url=’AjaxOperations.aspx?rdm=’+Math.random()+’&action=’+op;
b、加时间戳: 代码如下:var url=’AjaxOperations.aspx?dtStamp=’+new Date().getTime()+’&action=’+op;
这一种解决方案,只需要加个时间或随机数作为参数,服务器端不需要任何改动就可以达到目的。
(2)前台异步调用设置XMLHttpRequest对象的属性
在XMLHttpRequest发送请求之前加上 代码如下:XMLHttpRequest.setRequestHeader(“If-Modified-Since”,”0″)个人认为这个才
是“正道”。因为你不能明确哪些ajax请求是需要还是不需要缓存的(解决网站的性能瓶颈,利用有缓存的ajax居多),所以每次在
发送请求的时候确认一下是否要缓存,相对于2中的第(1)条显然少写了一个url参数,而且服务器端(改进方法1)也不需要
改变设置,但是对于已经封装好的ajax库,你可能已经不能在外面直接使用XMLHttpRequest对象了,通常的设置语法可能是
将(“If-Modified-Since”,”0″)作为参数传递:ajaxObj.sendPost(其他参数列表,….”If-Modified-Since”,”0″); (post方式)
或者 ajaxObj.sendGet(其他参数列表,….”If-Modified-Since”,”0″); (get方式)
希望本文所述对大家ajax程序设计有所帮助。
您可能感兴趣的文章您可能感兴趣的文章:ajax+php控制所有后台函数调用jQuery Ajax调用WCF服务详细教程jQuery调用ajax请求的常见方法汇总
使用ajax技术无刷新动态调用新浪股票实时数据jQuery ajax调用WCF服务实例ajax的定时调用每5秒调用一次iframe式ajax调
用示例代码jquery中的ajax方法怎样通过JSONP进行远程调用JavaScript调用ajax获取文本文件内容实现代码iframe式ajax调用
示例jquery.Ajax()方法调用Asp.Net后台的方法解析ajax调用简单实例
weixin_38673924
- 粉丝: 4
- 资源: 906
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0