javascript - 如何在 javascript 中检查 cookie 是否为空?

标签 javascript jquery

以下 switch 语句不会捕获不存在的 cookie。

switch (stateCookie) {
                    case 'Virginia':
                        window.location = '/Teacher-Login/VA';
                        break;
                    case 'North Carolina':
                        window.location = '/Teacher-Login/NC';
                        break;
                    case 'South Carolina':
                        window.location = '/Teacher-Login/SC';
                        break;
                    case null:
                        window.location = '/Teacher-Login/VA';
                        break;
                    case '':
                        window.location = '/Teacher-Login/VA';
                    default:
                        window.location = '/pages/state-login/login.html';

好吧,我已经尝试了几件事,但我仍然莫名其妙地遇到了麻烦。这是我现在拥有的代码:

$('#welcome select').change(function () {
    var stateSelected = $('option:selected', this).val();
    var stateCookie = getCookie("ia_state");
    if(stateSelected != stateCookie)
    {
        setCookie('ia_state', stateSelected);
        switch (stateCookie) {
            case 'Virginia':
            case null:
            case '':
                window.location = '/Teacher-Login/VA';
                break;
            case 'North Carolina':
                window.location = '/Teacher-Login/NC';
                break;
            case 'South Carolina':
                window.location = '/Teacher-Login/SC';
                break;
            default:
                window.location = '/pages/state-login/login.html';
}
}
}); 

正在评估 switch 语句,但它始终会采用默认情况。我还没有弄清楚如何在 cookie 为 null/未定义的情况下捕获它。

最佳答案

你错过了休息时间:

                ...
                case '':
                    window.location = '/Teacher-Login/VA';
                    break;
                default:
                    window.location = '/pages/state-login/login.html';
                    break;

mdn有item功能:

function hasItem(sKey) { 
    return (new RegExp("(?:^|;\\s*)" + escape(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(document.cookie); 
}  

关于javascript - 如何在 javascript 中检查 cookie 是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8447745/

相关文章:

javascript - Json 循环随机化每次页面刷新

javascript - Bootbox 不显示弹出模式

Jquery - 隐藏特定的 div

jquery - 页面布局不一致:(

jquery - bootstrap typeahead - 更改源

javascript - 如何分解 Cycle 代码来创建大型应用程序?

javascript - 为什么我的 JQuery 插件导致无法读取未定义的属性 'length'?

javascript - JQuery 插件可以在 JQuery 方法链上调用吗?还是需要在选择器之后直接调用?

javascript - 我可以控制按 Enter 时触发哪个提交按钮吗?

javascript - 有没有理由在 JavaScript 条件中写入 "if (myBoolean == true)"?