2012-04-25 182 views
0

我想要的是,數據將傳遞到這個PHP文件:check.php和這個PHP文件將在頁面準備好時將數據傳遞到該函數。這只是一個到期。jquery文檔準備就緒

好,我有這樣的代碼:

$(document).ready(function() { 
    $.post("check.php", { 
     name: "log" 
    }, function(data) { 
     if (data === "yes") { 
      alert('has been login'); 
     } else { 
      alert('has not login'); 
     } 
    }); 
});​ 

和我有這個PHP代碼(「check.php」),其中jQuery的職位將數據傳遞到。

<? //check 
$chk = $_POST['name']; 

if (isset($chk === "log")) { 
    if (isset($_COOKIE['admin'])) { 
     if ($_COOKIE['admin'] === "login") { 
      echo "yes"; 
     } 
    } else { 
     echo "no"; 
    } 
} else { 
    echo "no"; 
} 
?> 

,但沒有發生,即使我改變整個代碼check.php到:「回聲‘是’;」沒有任何事情發生,我猜,它沒有數據接收或沒有數據傳遞。希望有人能幫助我解決這個簡單而可愛的問題。提前謝謝你

+1

你有沒有在你的頁面加載jQuery?你在fierbug控制檯中看到任何腳本錯誤嗎? – Shyju 2012-04-25 18:08:51

+0

你能分享一個鏈接嗎? – 2012-04-25 18:11:49

+0

注意到這只是一個實驗,但這是代碼對於生產環境來說並不理想。 Cookie可以由用戶設置/操作。任何人都可以設置一個名爲'admin' ='login'的cookie並訪問你的頁面,甚至不用輸入用戶名和密碼。是的,發生這種情況的可能性很低,但克服這種情況的一個簡單方法是使用$ _SESSION而不是cookie。 – AndrewR 2012-04-25 18:12:32

回答

2

我想你錯過了一個右大括號。這只是按預期工作:

$.post('check.php', { name: 'log' }, function(data) { 
    if (data === "yes") 
     { 
     alert ('has been login'); 
     } 
     else 
    { 
    alert ('has not login'); 
    } 
    }); 

運行此的jsfiddle http://jsfiddle.net/S53k5/ ,你會看到呼叫提琴手經過。

+0

謝謝!!有用。嘿嘿:D – 2012-04-25 18:19:46

0

我想這是因爲你使用標題「名稱」,這是一個保留關鍵字。