首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有?jsoncallback=的JSONP?

没有?jsoncallback=的JSONP?
EN

Stack Overflow用户
提问于 2015-09-25 14:07:06
回答 2查看 129关注 0票数 0

我只是深入研究JSON,并从data.gov找到了以下data.gov文件:http://data.consumerfinance.gov/api/views.json

为什么我不需要?jsoncallback=?来检索数据呢?

代码语言:javascript
复制
(function() {
  $.getJSON('http://data.consumerfinance.gov/api/views.json', function (data) {
      console.log(data);
    });
})(); 

贴出的代码起作用。是因为我使用了匿名回调函数吗?我可以从任何服务器检索任何.json文件吗?或者(为什么)我需要一个API?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-25 14:12:49

该代码将尝试使用XMLHttpRequest来获取数据。

默认情况下,同一原产地政策将阻止网页中的JavaScript跨域读取数据。

JSONP是一种围绕同一原产地策略工作的黑客(它依赖于以JavaScript程序的形式表示的数据)。

CORS是作为一种标准的,更细致的,允许访问跨来源资源的方法而开发的.

data.consumerfinance.gov实现CORS。

这包括添加额外的,这给浏览器显式的权限,使其可以在其他网站上与JavaScript共享数据。

票数 1
EN

Stack Overflow用户

发布于 2015-09-25 14:11:53

该服务器在响应中发送Access-Control-Allow-Origin: *,它告诉浏览器忽略相同的-原产地策略。

因此,您可以执行正常的AJAX请求,而不需要JSONP。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32784052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档