如何在没有 Jquery 的情况下在本地加载 javascript 的 json 文件?
How to load a json file with javascript locally without Jquery?
我正在创建一个网站以在 javascript 中取得进展,但我遇到了一个小问题,无论我尝试哪种方式,我的浏览器都不想加载我的 json 文件。
我尝试了很多我在互联网上找到的代码,但 none 的代码有效(或者我不知道如何使它们有效)。最后我喜欢这个很容易理解的,但是他的那个也不起作用并且总是 return 一条错误消息。
function loadJSON(path,success, error)
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 1) {
if (success)
success(JSON.parse(xhr.responseText));
} else {
if (error)
error(xhr);
}
}
};
xhr.open("GET", path , true);
xhr.send();
}
function test()
{
loadJSON('test.json', function(data) { console.log(data); }, function(xhr) { console.error(xhr); });
}
我 运行 测试功能,但每次,控制台 return 我都会出错。有人有办法解决我的问题吗?
status
是 HTTP 响应代码。
200表示请求成功。状态很可能永远不会是 1。
的列表
作为解决方案,我建议使用 fetch API
,这是查询文件的现代方式。
Here are some examples on how to use it
如果你真的想使用AJAX,使用这个:
var request = new XMLHttpRequest();
request.open('GET', '/my/url', true);
request.onload = function() {
if (this.status >= 200 && this.status < 400) {
// Success!
var resp = this.response;
} else {
// We reached our target server, but it returned an error
}
};
request.onerror = function() {
// There was a connection error of some sort
};
request.send();
我正在创建一个网站以在 javascript 中取得进展,但我遇到了一个小问题,无论我尝试哪种方式,我的浏览器都不想加载我的 json 文件。
我尝试了很多我在互联网上找到的代码,但 none 的代码有效(或者我不知道如何使它们有效)。最后我喜欢这个很容易理解的,但是他的那个也不起作用并且总是 return 一条错误消息。
function loadJSON(path,success, error)
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 1) {
if (success)
success(JSON.parse(xhr.responseText));
} else {
if (error)
error(xhr);
}
}
};
xhr.open("GET", path , true);
xhr.send();
}
function test()
{
loadJSON('test.json', function(data) { console.log(data); }, function(xhr) { console.error(xhr); });
}
我 运行 测试功能,但每次,控制台 return 我都会出错。有人有办法解决我的问题吗?
status
是 HTTP 响应代码。
200表示请求成功。状态很可能永远不会是 1。
的列表作为解决方案,我建议使用 fetch API
,这是查询文件的现代方式。
Here are some examples on how to use it
如果你真的想使用AJAX,使用这个:
var request = new XMLHttpRequest();
request.open('GET', '/my/url', true);
request.onload = function() {
if (this.status >= 200 && this.status < 400) {
// Success!
var resp = this.response;
} else {
// We reached our target server, but it returned an error
}
};
request.onerror = function() {
// There was a connection error of some sort
};
request.send();