在post方法期间阻止IE中的ajax请求缓存

时间:2013-04-24 15:14:08

标签: ajax caching request

如何防止IE缓存发送到服务器的请求?

我试过在https响应对象中设置(“Cache-Control:no-cache”),但IE仍在缓存我的请求数据。

请查看项目详情如下:

在我的应用程序中,我向服务器发送登录请求。所以我登录后,如果我使用winHex工具进行内存转储,我可以在内存中获取密码详细信息。

  1. 我正在清除对话框refrense,但请求数据仍然被缓存。
  2. 请建议我为此做一些工作

2 个答案:

答案 0 :(得分:1)

您可以尝试使用随机值向网址添加参数,这样可以防止网址始终相同。

示例:

普通网址:

www.test.com/test.php

伪造不同的网址:

www.test.com/test.php?_dc=12353somerandomval

确保_dc参数始终具有不同的值,您可以(例如)使用JavaScript日期对象(它返回当前时间,以毫秒为单位,实际上总是不同):

params: {
    _dc : new Date().getTime()
}

答案 1 :(得分:0)

在一个项目中,我做了一段时间后我遇到了完全相同的问题,我四处搜索并看到了一些建议在请求中添加时间戳的内容,这确实也有效,但这是最优雅的方式对我来说。

$('document').ready(function () {            
    $.ajaxSetup({
        cache: false
    });
});