跨域数据访问如何工作?

时间:2009-08-17 22:38:37

标签: jquery ajax web-services json

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

  

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

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

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

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

2 个答案:

答案 0 :(得分:0)

您需要使用JSONP。 @redsquare发布了一个很好的答案here,其中包含一些优秀文章的链接。

答案 1 :(得分:0)

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