如何在没有 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。

这是HTTP codes

的列表

作为解决方案,我建议使用 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();

来源:You Might Not Need jQuery