IE下同样的$.ajax()被调用两次,只能执行一次(第一次)

今天发现了这个问题,仅限于IE下所有浏览器包括Edge

百度了一下原来问题就在这句话:如果第二次请求与第一次请求完全相同,会直接从缓存获取。

那么就在请求时让URL变得不一样吧

       $.ajax({
                type: "GET",
                url: "@Url.Action("ChangeYearOrCompany", "UploadFile")?year=" + year + "&companyCode=" + companyCode + "&random=" + Math.random(),
                dataType: "text",
                success: function (data) {
                    if (data != "" && data != null && data != "[]") {
                        $('#tt_File').datagrid('loadData', { rows: jQuery.parseJSON(data) });
                    }
                    else {
                        alert(companyName + year + "无数据!");
                        $('#tt_File').datagrid('loadData', { total: 0, rows: [] });
                    }
                },
                error: function (aa) {
                    alert(aa + "请求失败!请联系管理员!");
                }
            });

添加一个随机数让每次请求都不一样这样就规避了再次请求无果的问题。

原文地址:https://www.cnblogs.com/holyson/p/4958585.html