如何使用jQuery更新cookie值而不刷新页面?

Jay*_*Dee 2 jquery session-cookies

我目前正在使用jQuery Cookies插件,并且根据观看者点击的页面的哪一侧,应用了cookie:

<div id="leftClick">Click Me</div>
<div id="rightClick">Click Me</div>
Run Code Online (Sandbox Code Playgroud)

问题是一旦存储了cookie,它就不会在没有刷新的情况下更新.因此,如果观看者点击了正确的元素,但在刷新页面之前,那么在左侧元素之后,尽管cookie已被_left覆盖,但它仍然会向右报告,因为页面尚未刷新.有没有一种方法可以在没有页面刷新的情况下实时读取cookie?

<script type="text/javascript">
    var readCookie = $.cookie('whichSide');
    $(document).ready(function() {
       $('#leftClick').click(function(){
        $.cookie('whichSide', 'left_');
      }); 
    $('#rightClick').click(function(){
        $.cookie('whichSide', 'right_');
      });
    $('#login').click(function(){
        _gaq.push(['_trackEvent', 'viewerChose', readCookie+'side']);
    });   
  });  
?</script>  
Run Code Online (Sandbox Code Playgroud)

mek*_*all 5

这是因为您将cookie的值存储在readCookie变量中.更新cookie时,此变量不会自动更新,这就是您在引用cookie时获取旧值的原因.

你可能想要这样的东西:

$('#login').click(function(){
    _gaq.push(['_trackEvent', 'viewerChose', $.cookie('whichSide')+'side']);
});
Run Code Online (Sandbox Code Playgroud)