Вот мой файла JavaScriptНе удается разобрать JSON?
var callAjax = function(relative_path){
var Ajax = new XMLHttpRequest();
Ajax.onreadystatechange = function() {
//Since what we are calling a local file. we cannot get a 200 OK Status.
//So We check only the readystate
if(Ajax.readyState==4){
serialized = Ajax.responseText;
alert(serialized);
// ^^ alerts fine.
return serialized;
}
}
Ajax.open("GET",relative_path, true);
Ajax.send();
};
var readSettings = function(){
var data = callAjax('settings.json');
obj = JSON.parse(data);
alert(obj);
}
Теперь, когда я называю readSettings()
где-то в моем HTML, первое предупреждение (в функциях callAjax оповещает JSON правильно. Но второй один не делает. Когда я вижу консоль, ошибка:
[21:04:02.233] SyntaxError: JSON.parse: unexpected character @ file:///home/cipher/Codes/looma-f5/js/looma.js:23
Мой settings.json является:
{
"classes": 8,
"config": "classConfig",
"locale": {
"en": "localeEn"
},
"defaultLocale": "en"
}
Я побежал JSON через онлайн-инструментов, это выглядит г ООД. Почему firefox не разбирает их?
Ваш json в utf-8? – Sumurai8
Я вижу, что это была не настоящая причина ошибки :). В любом случае, спасибо @ Sumurai8 – cipher