配合, 我正在开发一个Facebook应用程序。 事实证明,当我通过我的服务器的url运行它时,它工作正常。但是,当我在Facebook上运行它时,如果我检查网络请求,则尝试保存信息的请求会以某种方式被取消。
这是我服务器的网址: http://www.conamor.org/apps/aventuracenter/pacman/public/index.php/game
这是来自facebook: https://apps.facebook.com/avcpacman/
正如您所看到的(如果您运行它),它会发出一个帖子请求以保存玩家的分数。但由于某种原因,我无法理解,当我在Facebook上运行时,此请求的状态为“已取消”。
有什么想法吗? 提前谢谢!
答案 0 :(得分:1)
您需要在自己的服务器上启用CORS,方法是在您的响应标头中放入Access-Control-Allow-Origin:facebook.com。此外,由于Facebook受https保护且您的网站不受保护,因此您可能需要在浏览器中启用混合内容以使其正常工作。从长远来看,您可能也想为您的网站启用https安全性。
有关cors的更多信息:http://www.html5rocks.com/en/tutorials/cors/。
有关混合内容的更多信息:https://developer.mozilla.org/en-US/docs/Security/MixedContent
答案 1 :(得分:0)
启用CORS(跨源资源共享)添加:
<?php
header('Access-Control-Allow-Origin: *');
the reset of your saving code
?>
&安培;由于您使用的是AJAX,因此必须JSON
作为dataType
:
$.ajax({
type: "POST",
url: "http://TO_REMOTE_SERVER/dummy.php",
data: data,
datatype: 'json'
});