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

标签 javascript json ajax

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

我发布这个问题希望有其他解决方案。 我需要使用纯 JavasSript 和 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 数据。

关于javascript - 使用纯Javascript Ajax从本地获取json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34108704/

相关文章:

JavaScript 和动态创建对象

javascript - React 自定义 Hook 问题

python - Django - 异常处理最佳实践和发送自定义错误消息

json - 在 bash 中用数组替换键

javascript - 组合对象数组 ({a :a, b :b, c :c}, {a :a, d :d, c :c}) to ({a:a, b :c, d:c})

javascript - 如何通过API或JS合并视频和音频?

iOS 9 解析JSON的最佳方案

javascript - 谷歌财经放大缩小图表逻辑

ajax - 无法将 Canvas 数据从 Javascript AJAX 发送到 PHP 页面

javascript - CORS请求立即取消chrome