Facebook ajax输掉会议

时间:2012-11-26 20:07:36

标签: ajax facebook

我正在尝试开发一个Facebook应用程序但是遇到了会话变量的问题。 我通过ajax调用脚本来设置会话变量。 稍后,我通过ajax调用脚本,该脚本检索先前设置的会话变量,但该变量为空。

应用程序在index.php中加载时调用的第一个脚本。 我在顶部有以下内容

<?php
session_start();
//Get PHP SDK
require_once 'facebook-php-sdk/src/facebook.php';
// Create our Application instance.
$facebook = new Facebook( array('appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'cookie' => true, ));
$signed_request = $facebook -> getSignedRequest();
$like_status = $signed_request["page"]["liked"];
?>

通过ajax调用的第一个脚本设置会话变量如下:

$numbers = range(1, 52);
shuffle($numbers);
$_SESSION['cards'] = serialize($numbers);

第二个脚本(大约10秒后调用,所以我认为这不会是种族问题)看起来像这样:

$numbers = unserialize($_SESSION['cards']);

变量$ numbers为空,即使其他脚本没有清空$ _SESSION ['cards']。

这应该有用还是我做错了?我对ajax很新。 我已经读过iframe中的ajax调用可能存在问题,这是Facebook应用程序的设置方式,但我还没有找到解决方案。

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您必须在session_start()和ajax脚本上调用index.php才能分享同一会话