在下面的代码中,如果我尝试读取的 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']);
});