我在这里看到过类似的问题,但我无法理解它们。
我正在构建一个小网页,我想从我的文件系统中读取一个.json文件并获取其中的对象。
网页也是本地的,.json文件与.html文件位于同一文件夹中。
如果可以在不使用任何服务器且没有jquery的情况下如何在我的Ubuntu机器上执行此操作?
答案 0 :(得分:2)
这是一些vanilla 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);
}
答案 1 :(得分:1)
您只需在页面上添加<script>
标记,将SRC指向同一文件夹中的本地.js文件即可。您不需要使用Ajax。