【问题标题】:'Uncaught Syntax Error: Unexpected token o''未捕获的语法错误:意外的标记 o'
【发布时间】:2014-03-20 15:03:48
【问题描述】:
var currentFood = JSON.parse(localStorage.getItem("currentFood"));

<some HTML using the currentFood object>

$('#addFood').on("click", function(){
    var allFood = JSON.parse(localStorage.getItem("allFood")) || [];
    allFood.push(currentFood);
    localStorage.setItem("allFood", JSON.stringify(allFood));
});

检查 console.log 后,currentFood 正在返回正确的对象,但是,以下代码在我的点击事件的第一行返回“意外令牌错误 0”。

【问题讨论】:

  • 嗯,看起来本地存储中 allFood 键的值不正确/格式错误的 JSON。您可能想通过开发者工具在点击处理程序的第一行设置断点,然后在 JS 控制台中运行 localStorage.getItem('allFood') 以查看存储在其中的 JSON 字符串。
  • 在其他问题上,我读到它可能是编码问题 :) 你在 currentFood 中有什么奇怪的迹象吗?或者可能是太长了。
  • 如果您从 localStorage 获取的对象只是 不是 存储为 JSON 的 JS 对象的字符串表示形式,则在 JSON 解析器时可能会发生此错误试图解析第一部分,"[object..." 所以也许我们需要查看将这个值放入 localStorage 的代码,看看发生了什么。
  • 现在想通了,我只需要在浏览器开发工具中清除 localStorage,因为它们保存了以前更新的错误信息!上面的代码非常好。无论如何感谢您的建议!

标签: jquery json syntax local-storage


【解决方案1】:

清除浏览器开发工具中的 localStorage,因为它们保存了以前更新中的错误信息。我上面的代码很好。

【讨论】:

    猜你喜欢
    • 2020-08-09
    • 2020-08-02
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    • 2022-12-07
    • 1970-01-01
    • 2023-01-29
    相关资源
    最近更新 更多