如何在Javascript中加载本地JSON文件

时间:2010-10-09 15:52:14

标签: javascript json dashboard

我正在编写一个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.

2 个答案:

答案 0 :(得分:9)

onreadystatechange财产没有大写字母。请参阅: MDC XMLHttpRequest

答案 1 :(得分:1)

除非我们添加扩展程序.json和MIMETYPE application\json,否则IIS将抛出错误。

见这里:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/cd72c0dc-c5b8-42e4-96c2-b3c656f99ead.mspx?mfr=true