2015-11-30 59 views
0

我得到了一些php代碼,當頁面完全加載時我想執行,我只希望它執行一次,並且在點擊提交後不再執行。使用Ajax調用頁面加載後的php代碼

這是PHP代碼中,我想執行

$backup=fopen("backup/".time().".json", "w"); 
    fwrite($backup, json_encode($list)); fclose($backup); 

有人可以告訴我如何頁面加載後執行此代碼,並只有1次。如果可能的話。

回答

0
//wait for the DOM to be loaded 
$(document).ready(function(){ 
    var $button = $('#idOfYourButton'); 
    $button.on('click', function(e){ 
    //if we have a submit button we probably do not want it to send the data via post/get 
    e.preventDefault(); 
    $.ajax({ 
      url: "/your/path/file.php", 
      success: function(){ 
       //do something when script was called 
      } 
     }); 
    }); 
}); 

對於腳本只運行一次,您必須定義這意味着什麼。每次會話一次?在您的服務器上設置會話標誌。每刷新一次?你可以簡單地使用一個javascript變量。

+0

一旦你進入該頁面。我現在得到的問題是,每當我按下一個按鈕或我的頁面重新加載一次,它又做了同樣的事情。我想要的代碼是每次有人進入頁面並更改原始頁面時進行備份,以便在出錯時可以返回上次保存的文件。 $ filename = time()。 '上傳.json'; $ backup = fopen(「backup /".$ filename,」w「); fwrite($ backup,json_encode($ list)); fclose($ backup); –

+0

這是因爲您發送表單。我編輯了我的帖子,以顯示如何停止此行爲。但是,將所有這些信息保存爲會話數據會更有意義。看看window.localStorage和window.sessionStorage –

相關問題