您可能知道从Flash应用程序发送自定义HTTP请求总是很困难。例如,如果您有基于Authh的受保护的Web服务,您将无法通过GET请求从Flash请求它,因为只有POST请求可以具有自定义标头。这真的很麻烦。
我想知道是否有人尝试使用ExternalInterface使用Javascript发送HTTP请求?我们的想法是让JSmethod发送请求并将数据传回Flash。
有什么想法?
答案 0 :(得分:3)
是的,有可能,我已经完成了几次使用Facebook JS sdk并将数据传回我的swf。
通常你用你的SWF调用JS函数:
ExternalInterface.call("getFriends",params);
在JS方面:
function getFriends(params)
{
FB.api('me/friends',function(response){
mySwf.onGetFriendsComplete(response);
});
}
在SWF一侧接收来自JS的电话:
ExternalInterface.addCallback("onGetFriendsComplete",onGetFriendsComplete);
private function onGetFriendsComplete(data)
{
trace(data);
}
如果您在本地运行SWF,可能需要在ExternalInterface调用之前放置检查以确保它可用:
if(ExternalInterface.available)
ExternalInterface.call(...);