1

我在这里看到过类似的问题,但我就是无法理解。

我正在构建一个小型网页,我想从我的文件系统中读取一个 .json 文件并获取其中的对象。

该网页也是本地的,并且 .json 文件与 .html 文件位于同一文件夹中。

如果可能的话,如何在不使用任何服务器且不使用 jquery 的情况下在我的 Ubuntu 机器上执行此操作?

4

2 回答 2

2

这是一些普通的 javascript XMLHTTPRequest 代码,它确实考虑了 ActiveX 对象的 IE 怪癖:

var useActiveX = typeof ActiveXObject !== 'undefined';
function loadJSON(file, callback) {
    var xobj;
    if (useActiveX) {
        xobj = new ActiveXObject('Microsoft.XMLHTTP'); 
    } else {
        xobj = new XMLHttpRequest();
    }
    xobj.callback = callback;
    if (xobj.overrideMimeType) {
        xobj.overrideMimeType('application/json');
    }
    xobj.open('GET', file, false);
    xobj.onreadystatechange = function() {
        if (this.readyState === 4) {
            this.callback(this);
        }
     }
     xobj.send(null);
}

然后你只需给它一个文件路径和一个回调函数来运行它:

loadJSON('filename.json', function(obj) {
    alert(obj.responseText);
}
于 2012-06-29T19:17:50.030 回答
1

您可以简单地将<script>标签附加到您的页面,将 SRC 指向同一文件夹中的本地 .js 文件。您不需要使用 Ajax。

于 2012-06-29T18:50:48.243 回答