Cookie 可能返回错误的格式

Cookie gives probably wrong format back

在 Laravel 应用程序中,我使用 selectpicker 作为过滤器。我喜欢将延迟状态存储在 cookie 中。

保存状态:

        function saveFilterStatus() {
            alert ($('#locationSelect').val())
            Cookies.set('location', $('#locationSelect').val());
        }

警报结果:31,32,37

预选选择器:

        alert(Cookies.get('location'))
        $('#locationSelect').selectpicker('val', Cookies.get('location'));

警报结果:["31","32","37"]

如果我设置 $('#locationSelect').selectpicker('val', ["31","32","37"]);它有效

如果我设置$('#locationSelect').selectpicker('val', Cookies.get('location'));它不起作用

我必须适应什么或缺少什么 $('#locationSelect').selectpicker('val', Cookies.get('location')); 有效?

js-cookie 插件以字符串形式存储 cookie 值(使用 JSON.stringify)。当你需要使用 js-cookie 插件获取 Cookie 中的数组或对象时,你需要使用 Cookies.getJSON('keyName')

所以在你的情况下使用 Cookies.getJSON('location').

你也可以使用JSON.parse(Cookies.get('location'))