javascript - 我正在尝试根据 AJAX 成功调用返回的内容编写条件

标签 javascript php jquery ajax

我正在尝试检查数据库以确保在注册过程中用户名不存在。我让它从数据库中获取计数。

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/

相关文章:

javascript - 如何为表单上的多个输入字段创建数据列表? HTML5

javascript - 在上一次调用中执行同一函数后,如何在 1 秒内多次调用函数? (javascript)

php - 如何使用 MySql 和缩放级别创建 Google map 服务器端集群?

php - 使用 Zend Opcache 将目录列入黑名单

javascript - 在产品页面自定义字段中检索产品自定义字段值

jquery - 移动 <select> 中的项目

Javascript 仅更改标签文本

javascript - 很多 if else 的更好方法

javascript - 视频无法在 JWPlayer 中播放

javascript - Select2 jquery 插件 - 从数据库中删除数据