IE将数据存储在缓存中,jQuery中未反映的更改

时间:2015-09-14 14:09:20

标签: javascript jquery internet-explorer

IE将数据存储在缓存中,即使有变化,也不会反映onclick。但是当我打开开发者模式并尝试访问它时,它完美地工作。在所有其他浏览器中它很好。

其他奇怪的事情是它在本地设置中正常工作,它在生产中存在问题。我已经使用了meta标签:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

但没有希望。任何人都可以帮忙吗?

这是我的jQuery:

        function showSubjectItems(){

            var dis = $("#myTopic").css('display');

            if(dis == 'none'){

                $("#myTopic").css({display: 'block'}).animate({ opacity: 1 }, 100, function(){

                    pleasewait();

                    $("#myTopic").empty().load("mygroupmessagesItem.xhtml"); 

                }); 


            }else{

                $("#myTopic").css({display: 'none'}).animate({ opacity: 1 }, 100, function(){

                    $("#myTopic").empty();

                });

            }

        }

1 个答案:

答案 0 :(得分:1)

在脚本中添加此代码以防止缓存ajax调用

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

如果这不起作用,那么下面的代码肯定会有效。

$("#myTopic").empty().load("mygroupmessagesItem.xhtml?random="+Math.random());

将随机值作为参数附加到URL不会阻止从缓存加载结果,试一试。如果它有帮助就Upvote。