可以在没有页面重新加载的情况下更新javascript中的cookie吗?

时间:2015-03-02 07:03:28

标签: javascript switch-statement

我正在写这个代码: 我所追求的是一些关于更新cookie(或不同的方法)以完成以下切换而没有页面重新加载的信息。 我有大约9种不同的情况:

        switch($.cookie('page')){
            case '/':
                d = level('1','#');
                $('b').on('mouseover',function(){
                    var $this = $(this);
                    c = '#'+makeid(6);
                    n = c.search(d);
                    $this.css({'background':c,'border-radius':'0'});
                    if(n != -1){
                        $('#complete').html('<h1>Congratulations</h1>');
                        $('#disable').show();
                        $('#complete').show();
                        $('.ok').click(function(){
                            complete('1');
                        });
                    }

                });
                break;
            case '1':
                d = level('2','');
                $('b').on('mouseover',function(){
                    var $this = $(this);
                    c = '#'+makeid(6);
                    n = c.search(d);
                    $this.css({'background':c,'border-radius':'0'});
                    if(n != -1){
                        $('#complete').html('<h1>Congratulations</h1>');
                        $('#disable').show();
                        $('#complete').show();
                        $('.ok').click(function(){
                            complete('2');
                        });
                    }

                });
                break;
        }

    function complete(val){
        $('#repeat').click(function(){
            $.cookie('page','/');
            location.reload();
        });
        //$('.ok').click(function(){
            $.cookie('page',val);
        //});
        clearBoard();
        $('#ok').trigger('click');
    }

有什么想法吗? 如果只使用替代if语句系列会更好吗?

3 个答案:

答案 0 :(得分:0)

您可以像这样设置/更新cookie的值:

$.cookie('page', 'some new value');

答案 1 :(得分:0)

是的,你可以这样做

$cookie_name = 'pontikis_net_php_cookie';
$cookie_value = 'test_cookie_updated_with_php';
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), '/');

click here for more

答案 2 :(得分:0)

将整个事物包装在函数中并在更新cookie上调用函数 - 这可行。