我的网站上有一个注册表单,但我也尝试检查给定用户名的可用性。
我还没有成功,希望你们中的一个人可以帮助我。
我没有得到任何形式的反馈或无论如何。
如果我只运行check.php脚本,我会得到正确的反馈(无论是“OK”还是“Not OK”)。
这是我的javascript代码:
$(document).ready(function(){
user.change(function() {
var usr = user.val();
if(usr.length >= 4) {
$("#status").html('<img src="loader.gif" align="absmiddle">');
$.ajax({
type: "POST",
url: "check.php",
data: "username="+ usr,
success: function(msg){
$("#status").ajaxComplete(function(event, request, settings){
if(msg == 'OK') {
user.parent().removeClass('error').addClass('success');
} else {
user.parent().addClass('error').removeClass('success');
}
});
}
);
} else {
}
});
});
这就是check.php:
<?php
include("dbConnector.php");
$connector = new DbConnector();
$username = trim(strtolower($_POST['username']));
$username = mysql_escape_string($username);
$query = "SELECT user FROM sites WHERE user = '$username' LIMIT 1";
$result = $connector->query($query);
$num = mysql_num_rows($result);
if($num == '0'){
echo 'OK';
} else {
echo 'not OK';
}
mysql_close();
?>
在“dbconnector.php”中连接到mysql。我已经测试了,但这完全没问题。
答案 0 :(得分:1)
Javascript错误
user.change(function() {
什么是用户);
代码else
之前关闭引号
醇>
答案 1 :(得分:1)
试试这个:
user.change(function() {
更改为:
$("#user").change(function() {
和
var usr = user.val();
data: "username="+ usr,
到
var usr = $("#user").val();
var send_data = {username:usr};
data: send_data,
答案 2 :(得分:1)
这是错的!
$。AJAX({ .......};
这是关闭ajax的正确方法
$。AJAX({ .......});
您忘记添加闭括号
};
});
答案 3 :(得分:1)
试试这个:
$(document).ready(function(){
$('#user').change(function(){
var usr = $("#user").val();
var send_data = {username:usr};
$.ajax({
type: "POST",
url: "check.php",
data: send_data,
beforeSend: function(){
$('.loading_image').show();
},
success:function(msg){
if(msg == 'OK') {
alert("ok");
}else if(msg == 'not OK'){
alert("NOT OK");
}else{
alert("No Response !");
}
},
error:function(err){
alert("Error in sending data : " + err['statusText']);
},
complete:function(){
$('.loading_image').fadeOut(2000);
}
});
});
});