我在这里看到过类似的问题,但我就是无法理解。
我正在构建一个小型网页,我想从我的文件系统中读取一个 .json 文件并获取其中的对象。
该网页也是本地的,并且 .json 文件与 .html 文件位于同一文件夹中。
如果可能的话,如何在不使用任何服务器且不使用 jquery 的情况下在我的 Ubuntu 机器上执行此操作?
我在这里看到过类似的问题,但我就是无法理解。
我正在构建一个小型网页,我想从我的文件系统中读取一个 .json 文件并获取其中的对象。
该网页也是本地的,并且 .json 文件与 .html 文件位于同一文件夹中。
如果可能的话,如何在不使用任何服务器且不使用 jquery 的情况下在我的 Ubuntu 机器上执行此操作?
这是一些普通的 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);
}
您可以简单地将<script>
标签附加到您的页面,将 SRC 指向同一文件夹中的本地 .js 文件。您不需要使用 Ajax。