使用javascript将[无缓存]重定向到页面

使用javascript将[无缓存]重定向到页面,javascript,jquery,asp.net-mvc,internet-explorer,reload,Javascript,Jquery,Asp.net Mvc,Internet Explorer,Reload,我有一个记录列表,在每条记录上,如果单击,我会转到不同的页面 在第2页,我更改了记录的状态。我在更改下拉列表中的值时更改状态。当我在下拉列表中更改值时,我调用api来提交更改。 成功呼叫后,我将用户重定向到列表页面,其中记录的状态值应已更改 这适用于所有浏览器,但不适用于IE(甚至不适用于IE 11) 例如,当我进入列表页面时,我会看到旧值,直到我按下f5并刷新 当我在第2页中更改记录的状态时,以下代码正在运行 function changeStatus(status) { $.ajax

我有一个记录列表,在每条记录上,如果单击,我会转到不同的页面

在第2页,我更改了记录的状态。我在更改下拉列表中的值时更改状态。当我在下拉列表中更改值时,我调用api来提交更改。 成功呼叫后,我将用户重定向到列表页面,其中记录的状态值应已更改

这适用于所有浏览器,但不适用于IE(甚至不适用于IE 11)

例如,当我进入列表页面时,我会看到旧值,直到我按下f5并刷新

当我在第2页中更改记录的状态时,以下代码正在运行

function changeStatus(status)
{
    $.ajax({
        type: "GET",
        url: "api call url",
        dataType: "xml",
        async: false,
        success: function (data) {
           // alert("success call");
            window.location = "list url"; // adding a datetime() here, doesn't give me any luck.

        },
        error: function () {
            alert("Error");
        }
    });


}
我尝试了很多方法,包括在url中添加日期时间,但运气不佳。
有什么解决方法吗?

您可以使用缓存设置()


如何调用此函数?当我更改下拉值时,在URI搜索中添加(新)GET通常会阻止缓存Paul S。-没有得到吗??你能再解释一下吗?另一种说法是:“你的服务器无法指定正确的缓存生存期,因此IE被迫猜测该生存期。通过添加一个随机数来更改URL(这就是
cache:false
所做的)通过绕过缓存来解决问题。您还可以在HTTP响应上设置适当的
缓存控制
指令,并以基于标准的方式解决问题。@EricLaw感谢您的解释,我通常没有时间写这样一个完整的答案,非常感谢您的评论。在此处添加缓存:false,无法解决问题这个问题。还有一件有趣的事是,当我处于调试模式时,当它进入“列表”页面时,它不会触及控制器代码。它只是进入页面,就像我按下浏览器的“后退”按钮一样。它只发生在其他浏览器中,也就是说,其他浏览器工作正常。@kandroid您是否尝试指定了
contentType
?嘿……它现在已修复。:)我实际上必须在列表页面中添加cache:false。不在这里。不过非常感谢。
function changeStatus(status)
{
    $.ajax({
        type: "GET",
        url: "api call url",
        dataType: "xml",
        async: false,
        cache: false,
        success: function (data) {
           // alert("success call");
            document.location = "list url"; // adding a datetime() here, doesn't give me any luck.

        },
        error: function () {
            alert("Error");
        }
    });
}