注意:解决了 - 问题毫无意义,我对CORS的理解不正确,导致我提出这个问题。
答案很简单,如下面的@CBroe所指出 - 需要在游戏服务器上配置CORS(在此问题的示例中)。
我有一个Facebook WebGL游戏,我想用Facebook的简单托管(https://developers.facebook.com/docs/games/services/contenthosting/)来主持。
是否可以使用Facebook的简单主机进行WebGL游戏并仍然可以联系我的网络服务器(mygamedomain.com)? FB应用程序配置中是否存在指定允许的域?
解决这个问题的唯一方法是从mygamedomain.com服务游戏吗?
如果可能,我真的想避免从我的网络服务器上提供游戏。
有任何想法或建议吗?
不这样做会产生预期的错误:
XMLHttpRequest cannot load https://mygamedomin.com/mygame.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://apps-1287636812638.apps.fbsbx.com' is therefore not allowed access.
只是要清楚,因为似乎有些混乱:
编辑:更改标题以更准确地反映我的问题。
答案 0 :(得分:0)
CORS 是解决问题的方法。
这个问题/答案不是Facebook特定的 - 问题与提供您内容的任何其他域名相同,这与您自己的不同。
您的客户端代码在Facebook域下托管,并尝试向您的域发出请求 - 这是跨域部分。您的域是拥有允许或拒绝此请求的权限的一方 - 默认情况下,它将被拒绝,但通过使用适当的标头响应,您的服务器可以向浏览器发出信号,"是,那个&#39 ;好吧,他[你的代码在facebook.com下运行]是好人之一......"
因此,您需要在服务器上配置此项,以便将请求发送到。