這是我的j查詢代碼:控制檯顯示我爲測試添加的「更改」,如果該操作正在通過j查詢。我也手動通過參數運行valdiateUname.php,它返回正確的結果,但我的查詢不檢查用戶名。問題是什麼?誰能幫我?爲什麼我的ajax jquery檢查用戶名?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
jQuery(function ($) {
uname.change(function(){
console.log('change');
$.ajax({
type: "POST",
data:{ // data that will be sent
uname: uname.val()
},
url:"validateUname.php",
//dataType:"text", // what type of data we'll get back
beforeSend: function(){
if(!$ ('span.unameCheck').html()){
$(this).after(' <span class="unameCheck" style="color:blue;"><b>Checking for the availability of username.....</span>');
}
},
success:function(data){
if(data != 0) {
if(!$ ('span.unameError2').html()){
$(this).after(' <span class="unameError2" style="color:red;"><b>Username already exist.</span>');
}
return false;
//valid = true;
}
else {
$(this).toggleClass('unameError2', false);
$('span.unameError2').fadeOut().remove();
return true;
}
}
});
});
});
</script>
這是我validateUname.php代碼:
<?php
require_once("config.php");
$username= isset($_POST["uname"]) ? $_POST["uname"] : $_GET["uname"];
$sql= "SELECT temp_user_login FROM temp_user_register WHERE temp_user_login = '$username' ";
echo $sql;
$result = mysql_query($sql);
echo $result;
$msg = mysql_num_rows($result);
echo $msg;
?>
你有沒有定義uname?在uname.change(function(){})之前的 。 – Shashank
停止使用'mysql',它已被棄用。更不用說你很容易受到注射。 –
我已經在文檔就緒功能之後和表單驗證功能之前定義了uname。完整的代碼太長,所以我剛剛發佈了@shashank – wingskush