次のコードでは、読み込もうとしている JSON のどこかにわずかな構文エラーがある場合、何も表示されません。Chrome または Firefox に表示されるエラーは見つかりません。これは、解析できないことを示しています。 JSON フィールド。この try/catch でも機能しません。
JSON を解析できない場合、コードで特定の処理を行うにはどうすればよいですか?
function init() {
elemFront = $('div.flashcard div.bodyFront');
elemBack = $('div.flashcard div.bodyBack');
console.log('before');
try {
console.log('inside try');
$.getJSON('data.txt', function(jsonResult) {
console.log(jsonResult);
});
}
catch(err) {
console.log('error');
}
console.log('after');
}
補遺
@sagi に感謝します。JSON データの構文の問題をキャッチするコードを次に示します。
$.get('data.txt', {}, function(data, response){
var jsonResult;
try {
jsonResult = JSON.parse(data);
}
catch (e) {
$('div.header').html('<span style="color:red">cannot load data because: "'+e+'"</span>');
};
$('div.bodyFront').html(jsonResult['one']);
});