前台用js、jquery出现错误很多是由于IE缓存

例如:当你用jquery进行异步请求数据时,如果浏览器发现请求的地址不变,或者参数也不改变的情况下

IE默认是取原来的缓存中的数据,而不进行重新请求数

解决的方法是是在地址栏的后面加上一个随机参数值,IE发现地址改变,就会去重新请求信息,重新进行一个加载

以下是我这两天就是因为这个原因,被折磨到死的两个问题:

function loadGround() {
    var projectid = $('#projectid option:selected').val();
    $("#groundid").empty();
    $.getJSON("/FangYuan/AJAX/AjaxGround.aspx?projectid=" + projectid + "&gtype=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("");

}
Ajax请求数据

其中关键的就是&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);         

        }
    });
uploadify操作

其中       'uploader': '/JS/jquery.uploadify-v2.1.4/uploadify.swf?var=' + (new Date()).getTime(),
             'script': 'UploadHandler.ashx?var=' + (new Date()).getTime(),

关键的随机参数  var  这样才能每次都是访问·····很关键,一直漏了uploadify.swf后面的参数。。。。。吸取教训啊

原文地址:https://www.cnblogs.com/wenghaowen/p/3088181.html