javascript - 我不断收到 "Uncaught SyntaxError: Unexpect

我正在尝试学习一些 html/css/javascript,所以我正在为自己编写一个教学项目。

这个想法是将一些词汇包含在一个 json 文件中,然后将其加载到一个表中。我设法加载文件并打印出其中一个值,然后我开始编写代码以将值加载到表中。

这样做之后,我开始遇到错误,因此我删除了我编写的所有代码,只剩下一行(之前工作过的同一行)......只有错误仍然存​​在。

错误如下:

Uncaught SyntaxError: Unexpected token o
(anonymous function)script.js:10
jQuery.Callbacks.firejquery-1.7.js:1064
jQuery.Callbacks.self.fireWithjquery-1.7.js:1182
donejquery-1.7.js:7454
jQuery.ajaxTransport.send.callback

我的 javascript 代码包含在一个单独的文件中,就是这样:

function loadPageIntoDiv(){
    document.getElementById("wokabWeeks").style.display = "block";
}

function loadWokab(){
    //also tried getJSON which threw the same error
    jQuery.get('wokab.json', function(data) {
        var glacier = JSON.parse(data);
    });
}

我的 JSON 文件现在只有以下内容:

[
    {
        "english": "bag",
        "kana": "kaban",
        "kanji": "K"
    },

    {
        "english": "glasses",
        "kana": "megane",
        "kanji": "M"
    }
]

现在第 11 行报告了错误,即 var glacier = JSON.parse(data); 行。

当我删除 json 文件时,我收到错误:“GET http://.../wokab.json 404(未找到)”所以我知道它正在加载它(或至少尝试加载)。

最佳答案

看起来 jQuery 对数据类型进行了猜测。即使您没有调用 getJSON(),它也会执行 JSON 解析——然后当您尝试在对象上调用 JSON.parse() 时,您会收到错误消息。

更多解释可见Aditya Mittal's answer .

关于javascript - 我不断收到 "Uncaught SyntaxError: Unexpected token o",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8081701/

相关文章:

javascript - 为什么返回生成的 HTML 而不是 JSON 是一种不好的做法?或者是吗?

angularjs - 如何在 AngularJs 中对字典使用 ng-repeat?

javascript - 删除 JSON 属性

c# - 如何在 JSON.NET 中实现自定义 JsonConverter?

javascript - 检查 JSON 对象中是否存在键

json - PostgreSQL引入JSONB的解释

c# - 使用 Newtonsoft 将 JSON 反序列化为 .NET 对象(或者可能是 LINQ

javascript - 加载本地 JSON 文件

java - Gson:直接将String转换为JsonObject(无POJO)

php - JSON 编码 MySQL 结果