我一直得到“Uncaught SyntaxError:Unexpected token o” [英] I keep getting "Uncaught SyntaxError: Unexpected token o"
问题描述
我正在尝试学习一些html / css / javascript,所以我自己写了一个教学项目。
I'm trying to learn some html/css/javascript, so I'm writing myself a teaching project.
这个想法是包含一些词汇一个json文件,然后将其加载到表中。我设法加载文件并打印出其中一个值,然后我开始编写代码将值加载到表中。
The idea was to have some vocabulary contained in a json file which would then be loaded into a table. I managed to load the file in and print out one of its values, after which I began writing the code to load the values into the table.
这样做后我开始得到一个错误,所以我删除了我写的所有代码,只剩下一行(以前工作过的同一行)...只有错误仍然存在。
After doing that I started getting an error, so I removed all the code I had written, leaving me with only one line (the same line that had worked before) ... only the error is still there.
错误如下:
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代码包含在一个单独的文件中,只是这样:
My javascript code is contained in a separate file and is simply this:
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文件现在只有以下内容:
And my JSON file just has the following right now:
[
{
"english": "bag",
"kana": "kaban",
"kanji": "K"
},
{
"english": "glasses",
"kana": "megane",
"kanji": "M"
}
]
现在第11行报告错误,即 var glacier = JSON.parse(data);
行。
Now the error is reported in line 11 which is the var glacier = JSON.parse(data);
line.
当我删除json文件时,我收到错误:GET http://.../wokab.json 404(Not Found)所以我知道它正在加载它(或至少试图)。
When I remove the json file I get the error: "GET http://.../wokab.json 404 (Not Found)" so I know it's loading it (or at least trying to).
推荐答案
看起来像jQuery需要猜测数据类型。即使您没有调用getJSON(),它也会执行JSON解析 - 然后当您尝试在对象上调用JSON.parse()时,您将收到错误。
Looks like jQuery takes a guess about the datatype. It does the JSON parsing even though you're not calling getJSON()-- then when you try to call JSON.parse() on an object, you're getting the error.
可以在 Aditya Mittal的答案中找到进一步的说明。
Further explanation can be found in Aditya Mittal's answer.
这篇关于我一直得到“Uncaught SyntaxError:Unexpected token o”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!