我将一个简单的应用程序放在闪存ide/as3中,从四方位置拉取照片。它在本地工作,但一旦部署在网络上,它不起作用。我想这是一个跨域问题,但我在网上找到的(下面的链接)迄今没有回答我的问题。 http://groups.google.com/group/foursquare-api/browse_thread/thread/ab963f74fde8ae9f/3e68559966acf7c9Foursquare API请求在部署后无法正常工作,跨域问题?
我检查了本地vs网络设置。我读过了我不应该在我的服务器上需要跨域文件。 我相信我已经读过,我不应该需要像我需要与Twitter的Foursquare的PHP代理... 不知道还有什么可以。
这个盒子里面说测试应该跟踪响应,但它永远不会被填充,就好像呼叫在它碰到了foursquare上的跨域文件后停在它的轨道上,我甚至不会收到错误响应。 http://physicalgraffitea.com/wp-content/swf/Foursquare-e.swf
把AS3蒸馏到这里最瘦,没有ID和秘密。
任何帮助?由于
Security.allowDomain("http://www.foursquare.com");
Security.loadPolicyFile("http://api.foursquare.com/crossdomain.xml");
import flash.net.URLRequest;
import flash.net.URLLoader;
import com.adobe.serialization.json.JSON;
var resource = "https://api.foursquare.com/v2/venues/4b7071c8f964a520d51a2de3/photos?group=venue&limit=6&client_id="+myId+"&client_secret="+mySecret+"&v=20120517";
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest(resource);
request.method = URLRequestMethod.GET;
loader.addEventListener(Event.COMPLETE, onComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR,onIOError);
loader.load(request);
function onComplete(e:Event):void {
var loader:URLLoader = URLLoader(e.target);
outputtxt.text = loader.data;
trace(loader.data);
var jsonData:Object = JSON.decode(loader.data)
}
function onIOError(e:Event):void {
var loader:URLLoader = URLLoader(e.target);
outputtxt.text = "error " + loader.data;
}
更正您的服务器上不需要crossdomain.xml文件;这只会让其他地方的Flash应用能够与您的网站进行双向互动。 – Cheekysoft