AJAX用户名可用性

时间:2013-06-23 07:19:49

标签: php jquery ajax

我已编写此代码以检查电子邮件的可用性。

var email = $('#email_reg').val();
       if(email && email.length > 0)
       {
         if(!isValidEmailAddress(email))
         {
           isValid = false;
           $('#msg_email').html('Email is invalid').show();           
         }
         else
         {jQuery.ajax({
            type: 'POST',
            url: 'check_username.php',
            data: 'email='+ email ,
            cache: false,
            success: function(response){
                if(response == 1){
                    $('#msg_email').html('Email already Exists').show();
                    isValid=false;
                }
                else {
                    $('#msg_email').html('').hide();
                }
            }
        });

         }
       }
       else
       {
         isValid = false;
         $('#msg_email').html('Please enter email').show();
       }

php代码

<?php
require_once('Connections/connection.php');
$username= mysql_real_escape_string($_REQUEST["email"]);

if (!$con)
{
    echo 0;
}
else {
    mysql_select_db($database_connection, $connection);
    $result = mysql_query("SELECT * FROM vendor_logiin WHERE username='" . $username . "'");
    $num = mysql_num_rows($result);
echo $num; //it will always return 1 or 0 since we do not allow multiple users with the same user name.
}
mysql_close();
?>

现在所有其他工作都很好,就像把它留空并给出错误的电子邮件格式。但问题是当我给出一个已经存在的电子邮件ID。它没有给出错误。 我不知道出了什么问题。

1 个答案:

答案 0 :(得分:0)

由于您未指定dataType,因此响应可能被视为text或html,在这种情况下,将比较作为字符串进行比较可能是明智的:

if (response == "1") {...}

而不是数字。如果您将其作为数字进行比较,请使用parseInt(response, 10) == 1