2015-07-06 52 views
2

我有一個按鈕以下功能:AJAX功能後的第一次點擊不運行PHP

$(function() { 
    $("#submit").click(function(){ 
     $.ajaxSetup({ cache: false }); 
     $.ajax({ 
     url:'crfile.php', 
     type:'GET', 
    }); 
}; 

它調用下面的PHP文件:

if (session_status() == PHP_SESSION_ACTIVE){ 
    session_destroy(); 
} 
session_start(); 

$extension = ".txt"; 
$_SESSION['fname'] = substr(md5(rand()), 0, 7).$extension; 
fopen("temp/" . $_SESSION['fname'], 'w'); 
$fname = $_SESSION['fname']; 

它創建一個文件temp /文件夾中的隨機名稱。兩者正在正常工作,除了,當我再次點擊#submit按鈕而沒有重新加載頁面時。它重新執行該功能,但它不會在PHP腳本中生成新的文件名。

我認爲這是緩存或會話,但都不是這樣。我使用PHP 5.5。

有人能請指教嗎?

回答

1

首先,你需要檢查你的ajax函數。嘗試使用方法'post',或者在你的代碼上使用('click',function(){.....})。

其次,你需要確保你的ajax函數真的有效。 使用'print'和'exit'進行調試。

if (session_status() == PHP_SESSION_ACTIVE){ 
    session_destroy(); 
} 
session_start(); 

$extension = ".txt"; 
$_SESSION['fname'] = substr(md5(rand()), 0, 7).$extension; 
//debugging command 
print $_SESSION['fname']; 
print 'see this?'; 
exit; 


fopen("temp/" . $_SESSION['fname'], 'w'); 
$fname = $_SESSION['fname']; 

這樣你就會知道你的ajax是否工作。您可以在上面的代碼末尾使用調試命令。

試試這些代碼,讓我知道你是否需要更多的幫助。

相關問題