我刚刚深入研究 JSON,并从 data.gov 找到了以下 .json 文件:http://data.consumerfinance.gov/api/views.json
为什么我不需要 ?jsoncallback=?
来检索数据?
(function() {
$.getJSON('http://data.consumerfinance.gov/api/views.json', function (data) {
console.log(data);
});
})();
发布的代码有效。是因为我使用了匿名回调函数吗? 我可以从任何服务器检索任何 .json 文件吗?或者(为什么)我需要 API?
最佳答案
该代码将尝试使用 XMLHttpRequest 来获取数据。
默认情况下,the Same Origin Policy将阻止网页中的 JavaScript 跨域读取数据。
JSONP 是一种解决同源策略的 hack(它取决于以 JavaScript 程序形式表达的数据)。
CORS被开发为一种标准的、更细致的方法,以允许访问跨域资源。
data.consumerfinance.gov 实现 CORS。
这涉及添加额外的 HTTP 响应 header ,明确允许浏览器与其他网站上的 JavaScript 共享数据。
关于javascript - 没有 ?jsoncallback=? 的 JSONP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32784052/