私は HTML/CSS/JavaScript を学ぼうとしているので、自分で教育プロジェクトを作成しています。
アイデアとしては、いくつかの語彙を json ファイルに含めて、それをテーブルにロードするというものでした。私はなんとかファイルを読み込んでその値の 1 つを出力し、その後、値をテーブルにロードするコードを書き始めました。
それを実行した後、エラーが発生し始めたため、記述したコードをすべて削除し、1 行 (以前は機能していたのと同じ行) のみを残しました...エラーだけがまだ残っています。
エラーは次のとおりです:
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ファイルを削除すると、次のエラーが発生します: "GEThttp://.../wokab.json「404 (見つかりません)」と表示されるので、読み込まれている (または少なくとも読み込もうとしている) ことがわかります。
ベストアンサー1
jQuery はデータ型を推測しているようです。getJSON() を呼び出さなくても JSON 解析が実行され、オブジェクトで JSON.parse() を呼び出そうとするとエラーが発生します。
詳しい説明はアディティア・ミッタルの回答。