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 对我的数据进行排序