0

我正在开发一个 facebook 应用程序,我正在尝试发送一些请求,但其中一个似乎特别会产生问题:在 FireBug 的 NET 面板下,我可以看到请求被一次又一次地发送,直到超时。我想做的是:当用户单击一个按钮时,function应该调用 PHP 文件中的一个。
save.php(从那里发出调用函数的请求)

<a id="done" href="savefunctions.php?runFunction=writeJSON">Done!</a> 

请求已正确发送,http://localhost:8080/savefunctions.php?runFunction=writeJSON 但似乎从未完成。

savefunctions.php (`$arrayForJSON 是一些保存数据的数组,应该写入 JSON 文件。

function writeJSON()
{
$myfile="testson.json";
$fileout=fopen($myfile,'w') or die("Fatal: Can't open JSON file for writing");
global $arrayForJSON;
if(isset($arrayForJSON))
{fwrite($fileout,json_encode($arrayForJSON));
echo "done";
fclose($fileout);}
else echo "Error: could not write to JSON file";

}

//Global:

if(!empty($_GET["runFunction"])){
        if($_GET["runFunction"] == "writeJSON"){
            writeJSON();
        }
    }

请求的状态是“302 Found”


编辑:看起来数组是空的,并且请求(我仍然不明白为什么)一遍又一遍地发送,直到超时。现在有时(看起来它是随机执行的)函数运行,但没有完成它的工作,其他时候它进入无限循环。

4

1 回答 1

0

在您的 PHP 代码中,您有一个条件runFunctionto be writeJSON。你正在路过getAllwriteJSON()永远不会被调用。

尝试

<a id="done" href="savefunctions.php?runFunction=writeJSON">Done!</a> 
于 2013-04-24T15:12:54.230 回答