例如:当你用jquery进行异步请求数据时,如果浏览器发现请求的地址不变,或者参数也不改变的情况下
IE默认是取原来的缓存中的数据,而不进行重新请求数
解决的方法是是在地址栏的后面加上一个随机参数值,IE发现地址改变,就会去重新请求信息,重新进行一个加载
以下是我这两天就是因为这个原因,被折磨到死的两个问题:
function loadGround() {var projectid = $('#projectid option:selected').val();$("#groundid").empty();$.getJSON("/FangYuan/AJAX/AjaxGround.aspx?projectid=" + projectid + ">ype=g&random=" + Math.random(), { "resultType": "json" }, function (data, textStatus) {var $sort = $("select[name='groundid']");$sort.append("<option value=''>请选择</option>");for (index = 0; index < data.length; index++) {$sort.append("<option value='" + data[index].id + "'>" + data[index].name + "</option>");} $("#groundid").attr("value", '');});$("#roomList").html("");}
其中关键的就是&random=" + Math.random()
另外一个问题是上传控件Uploadifyp,这个更是折磨人:
$("#uploadify").uploadify({'uploader': '/JS/jquery.uploadify-v2.1.4/uploadify.swf?var=' + (new Date()).getTime(),'script': 'UploadHandler.ashx?var=' + (new Date()).getTime(),'cancelImg': '/JS/jquery.uploadify-v2.1.4/cancel.png',// 'buttonText': '请选择..','buttonImg': '/JS/jquery.uploadify-v2.1.4/uploadify.jpg',// 'folder': 'UploadFile','queueID': 'fileQueue',// 'fileDesc': "Images(*.jpg;*.gif;*.jpeg;*.bmp;*.png;*.tiff)",'auto': false,'multi': true,'onSelect': function (e, queueId, fileObj) {$("#spicpath").html("");// alert(response); }});
其中 'uploader': '/JS/jquery.uploadify-v2.1.4/uploadify.swf?var=' + (new Date()).getTime(),
'script': 'UploadHandler.ashx?var=' + (new Date()).getTime(),
关键的随机参数 var 这样才能每次都是访问·····很关键,一直漏了uploadify.swf后面的参数。。。。。吸取教训啊