我正在编写一个Web应用程序(实际上最终将成为OS X Dashboard小部件,但我决定先原型化为简单的网页),需要从本地JSON文件加载一些初始化数据。我的代码如下:
function loadDatos() {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', 'datos.json', true);
xobj.onReadyStateChange = function () {
if (xobj.readyState == 4) {
var jsonTexto = xobj.responseText;
ProcessTheData(jsonTexto);
}
}
xobj.send(null);
}
这个函数是从HTML文件的BODY标签中的onLoad()事件中调用的。现在,从我调试时看到的情况来看,函数被执行了,但是onReadytStateChange事件处理程序却没有被调用。
我该怎么办?我认为使用XMLHttpRequest访问本地文件有点奇怪,但是我看到处理此问题的新教程似乎说它应该可以工作(我看到的99%的文档都是关于如何从远程服务器加载JSON,而不是从本地文件中加载)。
我正在使用Firefox 3.6.10进行测试,但我也尝试过Safari 4。