前言:Ajax请求时候:
浏览器对:
GET 方式请求: 默认从缓存中获取数据,
POST 方式请求: 默认不会从缓存中取数据,从服务端获取数据
bug原因:
在IE6中 用ajax请求时,如果出现 重复的URL,参数无变化,浏览器不会向服务器发送请求,在默认情况下浏览器会针对请求地址,缓存Ajax请求的结果。原因,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端。
解决办法:
1 : 通过为URL地址添加随机数后缀的方式解决问题,这样就会多了一个一直在变的参数。
var ran = Math.random()*10;// 随机数
var url = "/index.php/recharge/demandRecord/getResult"
$.ajax({
type : "get",
async : false, // 发送同步请求.(默认为true:异步,这也是ajax重要特性
cache: true, // 是否读取缓存,默认true,如果为 false,则每次都会向网站服务器请求
url : "/index.php/recharge/demandRecord/getResult?ran="+ran, // 方式1
// url : url + "?timeStamp=" + new Date().getTime(), // 方式2
data : "id="+id,
dataType:"json",// 返回格式 (与后台商量)
headers:{
'Content-Type':"application/json; charset=utf-8" // json格式
// 'Content-Type':"application/x-www-form-urlencoded; charset=utf-8" // formdata格式
},
beforeSend:function(){
请求前的处理
},
success:function(res) {
$('.record_load_'+id).hide();
if (res.status == 1) {
if (res.code === 200) {
//操作成功,刷新页面
location.reload();
}
} else if (res.error){
alert(res.error);
} else {
alert('系统异常,请重试或联系技术支持!')
}
},
complete:function(){
请求完成的处理
},
error: function(e) {}
})
1068

被折叠的 条评论
为什么被折叠?



