我有一個非常奇怪的問題,我的ajax登錄。下面我提供了登錄代碼。 奇怪的是:Ajax php登錄只能使用alert();
如果我刪除警報(「???」);我沒有得到checklogin.php的響應,而它正在獲取登錄的正確參數。
如果警報(「???」);仍然在功能頁面checklogin.php回覆「成功」和website.php加載!
基本上它沒有alert()時沒有進入ajax成功。
我一直在尋找這個小時,現在我不知道什麼警報觸發器使這項工作。
它仍然得到所有正確的參數,但PHP沒有警報沒有回覆。我曾嘗試使用'beforeSend'在ajax中進行睡眠,但它也沒有奏效。
在此先感謝!
AJAX功能:
function checkSwipedCredentials(decryptedCredentials)
{
$.ajax({
type: 'POST',
url: 'checklogin.php',
data: decryptedCredentials,
success:function(response)
{
if(response == 'success')
{
document.location='website.php';
} else {
showSwipeForm(); //onfailure
}
}
});
alert("???");
return false;
}
PHP代碼:
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count == 1)
{
echo "success";
$_SESSION['username']=$username;
} else {
echo "failed";
}
你是什麼意思「我沒有得到checklogin.php的迴應」? Firebug說什麼? – 2013-02-27 15:13:07
Firebug顯示沒有響應,警報()有螢火蟲顯示響應:成功 @ F4r-20:確切地說,這是奇怪的事情......但仍然警報使evrything工作:/ – Chickenlal 2013-02-27 15:17:37
我會添加你的設計有缺陷,因爲它不安全。使用ajax檢查憑據沒有意義,然後立即重新指向另一個不測試憑據的頁面。你可能有一個標準的形式,檢查是在'website.php'的負載上完成的。這將是安全的。 – Stevo 2013-02-27 15:24:28