使用纯Javascript Ajax从本地获取json数据

Fetch json data from local using pure Javascript Ajax

本文关键字:获取 json 数据 Javascript Ajax      更新时间:2023-09-26

所以我知道问这个问题太难了,因为我花了一天时间搜索这个主题,但没有成功。和许多其他人一样,我也面临着跨领域的问题。我到处看到的建议是更新服务器上的JSON文件或使用localhost,因为我的任务不允许这样做,所以我不能使用localhost

我发布这个问题,希望有其他解决方案。我需要使用纯JavasScript和Ajax从本地JSON文件中获取数据,这不涉及在服务器或本地主机上托管(使用绝对路径也是个坏主意)。

这是我迄今为止的代码:

function loadJSON(callback) {
  var xobj = new XMLHttpRequest();
      xobj.overrideMimeType("application/json");
      xobj.open('GET', '/json/userinfo.json', true);
      xobj.onreadystatechange = function () {
        if (xobj.readyState == 4 && xobj.status == "200") {
          callback(xobj.responseText);
        }
  };
  xobj.send(null);
}
(function() {
  loadJSON(function(response){
    var actual_JSON = JSON.parse(response);
    console.log(actual_JSON);
  })
})()

您将无法使用AJAX/XHR访问本地文件。它不是为这个目的而设计的。您可以将json数据分配到json文件中的一个变量中

var data = [{
}];

然后使用script标签加载json文件,如下所示:

<script type="text/javascript" src="file_name.json"></script>

现在,可以使用data变量访问所有json数据。