我是新來的ajax,jQuery和JavaScript,這是一個更多的學習練習,爲自己刷新一些技能。我想從單獨頁面的登錄頁面(即loginForm.php發送數據到login.php然後重定向到已登錄的部分)並希望向下移動jQuery ajax路由。Ajax登錄返回不正確的細節,即使細節正確
我建立我的索引頁,如下所示:
<form id="login_form">
<h1>Login Form</h1>
<div>
<input type="text" placeholder="Username" required="" id="user_name" name="user_name"/>
</div>
<div>
<input type="password" placeholder="Password" required="" id="password" name="password"/>
</div>
<div class="err" id="add_err"></div>
<div>
<input type="submit" value="Log in" id="login" />
</div>
</form>
我已經設置我的JavaScript像這樣:
$("#login").click(function(){
username=$("#user_name").val();
password=$("#password").val();
console.log(username + " " + password);
var info = {username:username, password:password};
console.log(info);
var sub = $.ajax({
async: false,
type: "POST",
url: "login.php",
data: info,
success: function(html){
if(html=='true')
{
$("#login_form").fadeOut("normal");
}
else
{
$("#add_err").html("Wrong username or password");
}
},
beforeSend:function()
{
$("#add_err").html("Loading...")
},
error: function(response) { console.log(response); }
});
console.log(sub);
return false;
});
當我console.log(info)
它告訴我的日誌,這是一個對象它有我需要發送的信息。所以我相信這部分到目前爲止沒有問題。下面的腳本是我的login.php:
<?php
include('secure.php'); // includes PDO database connection here
$username = $_POST['username'];
$password = $_POST['password'];
$sel = $db->prepare("SELECT * FROM aaUsers WHERE username='$username' AND password='$password'");
$sel->execute();
$count = $sel->rowCount();
if ($count >= 1) {
echo "true";
}
else
{
echo "false";
}
?>
的信息跨到這裏,並通過隨後此腳本運行然而,當我console.log(sub)
我可以看到responseText = ""
這也是造成我的腳本進行故障轉移。有人能夠告訴我我出錯的地方,我覺得我正在做的一切都是正確的,只是似乎出現了我出錯的地方。
把'console.log(html)'放到你的AJAX成功函數中,找出你的PHP腳本返回的內容。這可能就像需要將返回的數據修剪掉()一樣簡單...... –
我猜你的php失敗了,並且你關閉了錯誤報告 – Steve