我知道答案很久以前就给出了,但这个结果显示在谷歌的第一位。 但是我不想使用jquery,所以在普通JS中,I found this quick tutorial比senornestor answer干净(它还允许根据变量加载文件):
function loadJSON(filelocation, callback) {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', filelocation, true); // Replace 'my_data' with the path to your file
xobj.onreadystatechange = function () {
if (xobj.readyState == 4 && xobj.status == "200") {
// Required use of an anonymous callback as .open will NOT return a value but simply returns undefined in asynchronous mode
callback(xobj.responseText);
}
};
xobj.send(null);
}
function init() {
var location = "myfile.json";
loadJSON(filelocation=location, function(response) {
// Parse JSON string into object
loadedJSON = JSON.parse(response);
console.log(loadedJSON.somethingsomething);
});
}
init();
7条答案
按热度按时间pw136qt21#
以下是如何执行此操作的示例:
htrmnn0y2#
您只需在HTML中包含一个Javascript文件,将JSON对象声明为变量,然后就可以使用
data.employees
从全局Javascript作用域访问JSON数据。index.html:
data.js:
xpcnnkqh3#
您的JSON文件不包含有效的JSON。请尝试以下操作。
然后您应该会看到响应。查看http://jsonlint.com/
nc1teljy4#
在jQuery代码中,应该有
employees
属性。所以会是这样的。
当然,对于非jQuery版本,您也需要该属性,但是您需要首先解析JSON响应。
还要记住,
document.write
会破坏整个页面。如果仍然有问题,请尝试完整的
$.ajax
请求,而不是$.getJSON
Package 器。http://api.jquery.com/jquery.ajax/
55ooxyrt5#
我知道答案很久以前就给出了,但这个结果显示在谷歌的第一位。
但是我不想使用jquery,所以在普通JS中,I found this quick tutorial比senornestor answer干净(它还允许根据变量加载文件):
在你的html文件上:
ezykj2lf6#
要在没有jQuery的情况下实现这一点,可以使用Fetch API。截至2023年1月,约96%的浏览器支持Fetch API。
g0czyy6m7#
如果你想使用PHP.
可选地,异步使用它:
PHP: