【问题标题】:Javascript - set/get cookie - arrayJavascript - 设置/获取 cookie - 数组
【发布时间】:2020-08-17 06:40:38
【问题描述】:

我正在尝试在 Javascript 中将数组设置/获取为 cookie,如下所示:

    let features = [];
    
    for(const property in object) {
        ...
        let feature = new Feature(...);

        features.push(feature);
    }

    cookie.set('features', JSON.stringify(features));
    
    console.log(JSON.parse(cookie.get('features')));

我收到以下错误: VM21081:1 Uncaught SyntaxError: 位置 0 处 JSON 中的意外标记 u

附言如果我不使用 stringify/parse 结果是未定义的。

你能帮帮我吗?

提前谢谢你。

【问题讨论】:

  • 我认为问题在于我正在尝试存储对象,即新功能。
  • 在设置 cookie 控制台日志功能之前,请检查此数组的外观。如果你可以在这里分享结果,因为看起来问题出在 features 数组中
  • 是的,我查过了,好像填了:(10) [Feature, Feature, Feature, Feature, Feature, Feature, Feature, Feature, Feature, Feature]
  • 只是好奇,cookie.set/cookie.get是哪个库?

标签: javascript arrays cookies


【解决方案1】:

问题是您尝试在本地环境的浏览器中设置和获取 cookie。 我复制了这个主题的答案(Why does Chrome ignore local jQuery cookies?

'Chrome 不支持本地文件的 cookie(或者,像 Peter Lyons 提到的,localhost*),除非您使用 --enable-file-cookies 标志启动它。你可以在http://code.google.com/p/chromium/issues/detail?id=535阅读有关它的讨论。

*如果您直接使用本地 IP 地址 (127.0.0.1),Chrome 确实支持 cookie。所以在本地主机的情况下,这可能是一个更简单的解决方法。'

要测试您的代码,您可以使用 w3school 编辑器,这是一个示例: https://www.w3schools.com/code/tryit.asp?filename=GHTVNK8POVWM

(点击运行按钮查看结果)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    相关资源
    最近更新 更多