facebook如何跨域调用ajax?

时间:2010-11-02 20:26:42

标签: javascript ajax cross-domain

我期待创建一个包含facebook Javascript API提供的大部分功能的JavaScript API。

FB.api
FB.init
FB.logout
FB.getLoginStatus
FB.login
FB.ui

我可以在远程网站中嵌入脚本标记,并且需要从该页面到我的服务器执行所有ajax调用。我正在创建一个架构,需要有人帮助完成它的优秀创意。

3 个答案:

答案 0 :(得分:5)

查看https://github.com/facebook/facebook-js-sdk/blob/deprecated/src/core/xd.js

他们使用rpc变通办法(带有中继文件),Flash本地连接和postMessage的组合,无论浏览器支持哪种。

答案 1 :(得分:1)

您还可以查看Cross Site XmlHttpRequest(CORS)。从您的问题来看,您似乎可以控制将响应请求的服务器。在这种情况下,您可以调整标头以接收请求并响应跨域请求。

然后,如果您在嵌入式脚本的请求中配置请求标头,则嵌入式脚本将能够从任何网页与您的服务器通信。

我喜欢这种方法,因为它非常容易实现。请注意浏览器支持!

答案 2 :(得分:1)

他们正在使用JSONP。它被广泛使用,并得到jQuery等javascript框架的支持。