跨域数据访问如何工作?

Posted

技术标签:

【中文标题】跨域数据访问如何工作?【英文标题】:How does crossdomain data access work? 【发布时间】:2010-11-20 10:11:05 【问题描述】:

我正在使用 JQuery 发出 JSON 请求以访问私有服务器上的数据。但是,我注意到在尝试访问数据时收到此消息:

安全错误:xxxxxxx 的内容可能 不从 xxxxxxx 加载数据。

查看 JQuery 参考,我看到它正在访问:http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?

我想知道 Flickr 是如何在不弹出错误消息的情况下传送数据的。初步调查显示它实际上是在服务器端,它添加了某种回调函数。

基本上问题是,这究竟是如何工作的,我如何在我计划访问的服务器上创建的 Web 服务上实现它?

【问题讨论】:

【参考方案1】:

我认为更简单的方法是在当前服务器上创建一个 http 处理程序,该处理程序实际上从另一台服务器获取请求服务器端,而不是在本地调用该处理程序。

【讨论】:

【参考方案2】:

您需要使用 JSONP。 @redsquare 发布了一个很好的答案 here 并附有一些优秀文章的链接。

【讨论】:

以上是关于跨域数据访问如何工作?的主要内容,如果未能解决你的问题,请参考以下文章

跨域访问之JSONP

设置IE浏览器跨域访问数据

在Vue中如何使用axios跨域访问数据

在Vue中如何使用axios跨域访问数据(转)

什么叫ajax跨域访问

跨域访问解决方案:JSONP