Facebook App - Ajax请求已取消

时间:2013-09-12 21:44:58

标签: jquery laravel facebook-apps laravel-3

配合, 我正在开发一个Facebook应用程序。 事实证明,当我通过我的服务器的url运行它时,它工作正常。但是,当我在Facebook上运行它时,如果我检查网络请求,则尝试保存信息的请求会以某种方式被取消。

这是我服务器的网址: http://www.conamor.org/apps/aventuracenter/pacman/public/index.php/game

这是来自facebook: https://apps.facebook.com/avcpacman/

正如您所看到的(如果您运行它),它会发出一个帖子请求以保存玩家的分数。但由于某种原因,我无法理解,当我在Facebook上运行时,此请求的状态为“已取消”。

有什么想法吗? 提前谢谢!

2 个答案:

答案 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'
    });