这是我的 javascript 文件
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: 意外字符@file:///home/cipher/Codes/looma-f5/js/looma.js:23
我的 settings.json 是:
{
"classes": 8,
"config": "classConfig",
"locale": {
"en": "localeEn"
},
"defaultLocale": "en"
}
我通过在线工具运行了 JSON,它看起来不错。为什么Firefox不解析这些?