2013-04-24 69 views
0

我正在一個Facebook應用程序工作,我想發送一些請求,但一個特別似乎造成的問題:在FireBug的NET面板下,我可以看到請求被一次又一次地發送直到超時。 我想要做的是:當用戶點擊一個按鈕時,應該調用一個來自PHP文件的function
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找到」


編輯:看起來像數組是空的,並且請求是(我仍然不明白爲什麼)一遍又一遍地發送,直到超時。現在有時(看起來像它隨機)功能運行,但沒有它的工作,其他時間它在inf循環。

回答

0

在您的PHP代碼中,您的條件爲runFunctionwriteJSON。你正在通過getAllwriteJSON()永遠不會被調用。

嘗試

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

大聲笑抱歉的是,我在這裏粘貼從別的地方。該getall的作品。 其實我的代碼就是你寫它的方式。對不起,我有點累。 'href =「savefunctions.php?runFunction = writeJSON」'不起作用。我將編輯該問題,謝謝指出 – 2013-04-24 15:17:15