getJSON 打开一个 JSON 文件,而不是另一个 [重复]

Posted

技术标签:

【中文标题】getJSON 打开一个 JSON 文件,而不是另一个 [重复]【英文标题】:getJSON opens one JSON file and not the other [duplicate] 【发布时间】:2018-03-22 12:52:01 【问题描述】:

我试图通过在 Codepen 上进行一些测试来了解 getJSON 的工作原理,例如在控制台上打印 JSON 数据。我使用以下方法打印数据:

$.getJSON("https://www.freecodecamp.org/json/cats.json", function(json) 
    $(".message").html(JSON.stringify(json));
);

我注意到的是,使用诸如https://quotesappfree.herokuapp.com/quotes.json 之类的 JSON 文件,结果会打印在控制台上。但是,当我更改为另一个条目 https://www.freecodecamp.org/json/cats.json 时,它会停止工作。

为什么我可以在一种情况下打印 JSON 文件,而在另一种情况下不能?我怎样才能打印后一种情况?

提前致谢

【问题讨论】:

您的 javascript 是否与第一个 JSON 文件 (QuotesAppFree) 托管在同一个域中?因为这两个 JSON 文件都给了我 CORS 'Access-Control-Allow-Origin' 错误。如果您的同源文件没有抛出错误,但另一个是,那将是问题的原因。 【参考方案1】:

第二个不起作用的原因是因为freecodecamp 因为CORS 而拒绝了请求

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

【讨论】:

以上是关于getJSON 打开一个 JSON 文件,而不是另一个 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

jQuery getJSON 回调不起作用 - 即使使用有效的 JSON - 并且似乎使用的是“OPTION”请求而不是“GET”

Jquery getJSON 自动按 id 对我的数据进行排序

getJSON 未读取 JSON 数组

HTML5怎么读取json文件

需要一个类似字节的对象,而不是 'str' JSON 文件以 STR 形式打开

jQuery .getJSON 返回到数组变量和 json 数组操作