2017-08-02 132 views
0

我试图检查输入的用户名和电子邮件与数据库检查其可用性。AJAX请求不显示信息

它很好地检查电子邮件。我使用相同的代码的电子邮件,但不同的ID标签:

这里是我的用户名形式:

<label for="username">Desired Username</label> 
<input type="text" class="form-control" id="desusername" name="desusername" placeholder="Enter username" onkeyup="checkname();" required> 
<span id="name_status"></span> 

这里是功能检查:

function checkname() 
    { 
    var username=document.getElementById("desusername").value; 

    if(username) { 
    $.ajax({ 
    type: 'post', 
    url: '../members/authentication/checkusername.php', 
    data: { 
     username:username, 
    }, 
    success: function (response) { 
    $('#name_status').html(response); 
    if(response=="OK") { 
     return true; 
    }else { 
     return false; 
    } 
    } 
    }); 
    } 
    else { 
    $('#name_status').html(""); 
    return false; 
    } 
    } 

这里是我的php脚本来检查:

<?php 

require_once("../../includes/database.class.php"); 


if(isset($_POST['desusername'])){ 
    $username = $_POST['desusername']; 

    $sql = "SELECT username FROM users WHERE username = '$username'"; 
    $result = $database->query($sql); 

if(mysqli_num_rows($result) > 0) { 
?> 

    <div class="alert alert-danger" role="alert"> 
     <strong>Username already exists</strong>. Please choose a different one. 
    </div> 

<?php 
}else{ 
?> 

    <div class="alert alert-success" role="alert" style="margin-top: 10px;"> 
     <strong>Valid</strong>. You are good to go! 
    </div> 

<?php 
} 
exit(); 
} 

?> 

现在,在开发人员控制台它显示其调用函数everyt IME I型:

XHR finished loading: POST "http://localhost/members/authentication/checkusername.php". 

但没有在相关的div显示(#name_status)..

+0

做的console.log(Response),并检查该值 –

+0

@KarthikGanesan确定,它想出这样的:'未捕获的ReferenceError:检查名未在HTMLInputElement.onkeyup' –

+0

定义 也许这添加到阿贾克斯调用'contentType:“application/json”' –

回答

0

你看不到的响应,因为你使用的checkusername.php错误的索引。下面的代码

if(isset($_POST['desusername'])){ 
    $username = $_POST['desusername']; 


改变这种

if(isset($_POST['username'])){ 
    $username = $_POST['username']; 

,你是好去。 :)

确保

data: { 
     key:value, 
    }, 

你必须使用key而从POST请求获取数据或GET请求。你的成功函数中

+0

输入字段的id和名称是desusername,而不是用户名。 –

+0

但你正在用'用户名'键发送数据在ajax –

+0

将键:值是这样的:用户名:desusername? –