我正在尝试检查数据库以确保在注册过程中用户名不存在。我让它从数据库中获取计数。
PHP 代码:
if($result=mysql_query("SELECT count(*) from users where username='$requsername'"))
{
while($row=mysql_fetch_array($result))
{
$usercount=$row[0];
echo $usercount;
}
}
else
{
$goof=mysql_error();
$error = "<b>Error:</b> $goof";
echo $error;
}
jQuery 代码:
$('#newusername').blur(function() {
var requsername=$('#newusername').val(),
dataString='requsername=' + requsername;
$.ajax({
url:'scripts/checkusername.php',
data: dataString,
type:'POST',
success: function(data) {
var response=data;
if(response==="0") {
$('#usernamestat').html('Username Available');
$('#addusrbtn').removeAttr('disabled');
alert(response);
}
}
}
}
但它忽略了数据的值(value)。我做了一个警报,它正在提醒来自数据库的号码,但它没有运行代码来启用我的按钮并说用户名可用。我不知道我做错了什么!我希望它通过或失败 - 如果它通过(没有找到使用该用户名请求的用户),它会启用提交按钮并让他们继续;但如果它没有通过并且有大于 0 的值,它会显示用户名已被占用的错误消息。它根本无法工作或根本无法识别数字!
最佳答案
您甚至确定是否进行了 ajax 调用?据我所知,您没有以 key=value 形式而是以 {key: value}
形式向 jquery ajax 函数提供数据当你猜不出自己做错了什么时,做一些调试:
- 使用
console.log(data)
- 或者使用开发人员工具或 Firebug 并在成功函数中放置一个断点。
- 或者查看网络选项卡,看看您的 ajax 请求 header 是什么以及响应是什么。
- 将
vardump
放入 php 代码中。 - 使用合适的 IDE,允许逐行调试 PHP ...
- 安装xdebug
有很多方法可以做到...
我每天使用 Php storm 调试器 3 小时,开发工具另外 3 小时:)
关于javascript - 我正在尝试根据 AJAX 成功调用返回的内容编写条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27366652/