javascript - 如何检索位于不同文件中的 JSON 数据

标签 javascript jquery json

我在与 index.htm 相同的目录中有 6 个 json 文件。每个json结构里面都保存了游戏数据。我想让用户选择一个文件并加载其关联的 json 数据结构。我该如何检索这些数据?

我试过用

var myjson = new Object();
$.getJSON("myJSON.json", function(json) {
  myjson = JSON.stringify(json);
  console.log(myjson);
});

这给我一个 XMLHttpRequest 错误(不支持跨源请求)。

最佳答案

您的执行没有问题——尽管就像您帖子中的评论所暗示的那样,您需要更改您正在使用的协议(protocol)。实际上只需使用 http://127.0.0.1/mypage.html 而不是 file://home/website/mypage.html 加载 HTML 页面,您就可以保留您的 javascript 相同。

除此之外,您可能还需要考虑 myJSON.json 文件中的数据。我注意到如果 JSON 数据包含 function 定义,那么它将导致 $.ajax() 或在这种情况下 $.getJSON() 抛出一个解析错误。

所以这行不通

{
    "json" : function () {
        alert("HI");
    },
    "hello" : 432
}

但这会起作用

{
    "json" : "5",
    "hello" : 432
}

关于javascript - 如何检索位于不同文件中的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821841/

相关文章:

javascript - 如何检查是否在文本区域上按下了 Shift+Enter

json - Play Framework 自动 JSON 编码

javascript - OpenLayers => 特征为空

javascript - BB 代码列表 JavaScript

javascript - 如何将 JSON 字符串转换为可读的字符串?

Android向mysql json中插入数据

javascript - 大于运算符 jquery 不返回 true

javascript - HTML:添加逗号和数字的有限小数位

javascript - 从下拉列表中获取选择值/默认值到 JavaScript 变量中

javascript - 如果复选框处于打开状态,则不会启用按钮