我正在编写一个Web应用程序(嗯,实际上它最终将是OS X Dashboard小部件,但我决定首先将其原型(prototype)制作为简单的Web页面),该应用程序需要从本地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。

最佳答案

onreadystatechange属性没有大写字母。另请: MDC XMLHttpRequest

09-19 01:48