javascript - 为什么我的 ajax jquery 不检查用户名?

标签 javascript jquery ajax

这是我的 j 查询代码:控制台显示我添加的“更改”,用于测试操作是否通过 j 查询。我还通过手动传递参数运行了 valdiateUname.php,它返回了正确的结果,但我的 j 查询不检查用户名。问题是什么?谁能帮帮我?

<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;
?>

最佳答案

if(!$ ('span.unameError2').html()) 永远不会触发,因为它不返回 false,它返回 '' 和你的条件语句不会对此进行检查。

证明在 jsFiddle

关于javascript - 为什么我的 ajax jquery 不检查用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21275651/

相关文章:

jquery - 从 AJAX 调用返回 CFC 查询数据

javascript - 在 Node 服务器中使用 JQuery - TypeScript

javascript - jQuery.ajax 不是函数类型错误

javascript - 使用 Facebook Firebase 简单登录获取电子邮件

jquery - 使用 jQuery 从 tumblr feed 获取特定数量的 JSON 项目

jquery - 操作元素内的文本

jquery - 尝试使用 jQuery 来序列化()表单数据并使用扩展()附加更多变量

javascript - typeahead 不允许自由文本输入?

javascript - 如何在没有 gem 文件的情况下在 ruby​​-on-rails 中使用 javascript 库?

javascript - onchange 和 Select 不起作用