所以我通常很擅长弄清楚这些类型的问题,但是这个问题让我完全陷入困境,因为现在已经尝试修复了大约6个小时。
我有一个网页表单,其中包含使用jquery脚本和php脚本的用户名检查。当我第一次编写代码时它工作正常,现在已完全停止工作(不明白为什么)。 php脚本是一个非常标准的mysqli查询,返回numrows然后我回显1或0到页面,具体取决于是否找到了结果。这个脚本工作正常,并且已经独立测试了它,如果没有找到结果则回声1,如果找到结果,则返回0。
在jquery脚本中,我有一个最小值检查和一个没有值检查,两者都工作正常。然后我的ajax调用,我收到成功的结果:函数(数据)。这也已经通过在屏幕上打印结果(数据)独立测试,并且当没有记录时在屏幕上打印1,如果找到记录则在屏幕上显示0,所以我知道所有内容都与发送的数据一致正常结果我期待。
所以我唯一剩下的就是我的if语句必须存在问题以及它如何处理返回的数据,因为即使条件满足它总是会跳到其他地方。 if语句工作的唯一方法是我自己设置变量并运行脚本。长话短说是一切正常,除了最终的if语句,它总是跳到其他地方,无论怎样,并且即使我不知道用户名是否可用。
我在xampp上测试。这也可能是一个问题吗?
有什么想法吗?在此先感谢!!!
以下是代码:javascript
$(document).ready(function(){
//the min chars for username
var usermin_chars = 6;
//result texts
var checking_html = 'Checking...';
//when button is clicked
$('#username').blur(function(){
var usernameVal = $("#username").val();
if (usernameVal == '') {
$("#username_result").html('<span class="error">Please enter a username!</span>');
$('#username').removeClass();
$('#username').addClass("form_error");
}
//run the character number check
else if($('#username').val().length < usermin_chars){
//if it's bellow the minimum show characters_error text '
$('#username_result').html('<span class="error">Username must contain at least 6 characters!</span>');
$('#username').removeClass();
$('#username').addClass("form_error");
}else{
//get the username
var username = $('#username').val();
$.ajax({
type:"post",
url:"checkUsername.php",
data:"username="+username,
success:function(data){
if(data==0){$("#usename_result").html("Username already in use! Please choose another username.");
$('#username').removeClass();
$('#username').addClass("form_error");
}
else{$("#username_result").html("Username available");
$('#username_result').html('<span class="ok"><img src="../images/imgs/available.png" width="20" height="20" margin-left="5" alt="tick"></span>');
$('#username').removeClass();
$('#username').addClass("form_ok");
}
}
});
}
});
});
答案 0 :(得分:0)