Php 使用ajax的用户已存在脚本始终返回用户已获取的消息

Php 使用ajax的用户已存在脚本始终返回用户已获取的消息,php,ajax,Php,Ajax,我是PHP新手,我创建了一个简单的登录页面,在该页面中我应用了一个ajax脚本来检查用户是否已经存在。 但无论我是否插入了新值,脚本都会返回用户已获取的消息。我检查了整个代码,但找不到出错的线索 admin.php ========== <head> <script type="text/javascript" src="jquery-1.7.1.min.js"></script> <script type="text/javascript" src =

我是PHP新手,我创建了一个简单的登录页面,在该页面中我应用了一个ajax脚本来检查用户是否已经存在。 但无论我是否插入了新值,脚本都会返回用户已获取的消息。我检查了整个代码,但找不到出错的线索

admin.php
==========
<head>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src ="usernameavail.js"></script>
</head>
<form action="admin.php" method="post" name="loginfrm">
<table width="600" border="0">
  <tr>
    <td>User Name</td>
    <td><input name="txtusername" type="text" maxlength="15" id="txtusername" /></td>
          <span id="message"></span>
</tr>
    <tr>
    <td></td>

     </tr>
      <tr>
    <td>Password</td>
    <td><input name="txtpass" type="password" maxlength="7" />
    <span style="color:#FF0000">*</span> Minimum 5 alphanumeric 
      </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit"/></td>
  </tr>
   <tr>
       <td><a href="">Forget password?</a></td>
      <td><a href="registration.php">New Register</a></td>
    </tr>
    </table>
</form>
=========
 check.php
 =========
 <?php
  include ("includes/dbConfig.php");
  $username=$_POST["txtusername"];
  $query=mysql_query("SELECT * from logininfo where username='$username' ");
  $find=mysql_num_rows($query);
  echo $find;
 ?>
 ===================   
 usernameavail.js
 ===================
 $(document).ready(function()
 {
 $("#txtusername").change(function()
 {
 $("#message").html("<img src='images/ajax-loading.gif' /> checking...");
 var username= $("#txtusername").val();
 $.ajax(
 {
 type:"post",
 url:"check.php",
 data:"username="+username,success:function(data)
 {
 if(data==0)
 {
 $("#message").html("<img src='images/accept.png' /> Username available");
 }
 else
 {
 $("#message").html("<img src='images/error.png' /> Username already taken");
 }
 }
 });
 });
 });

在javascript文件中,为零加引号

if(data == '0')
将此更改为

    $.ajax(
 {
 type:"post",
 url:"check.php",
 data:"username="+username
这个

如果在check.php中替换

echo $find;

在ajax调用中,检查数据是否有值。

更改此行

'data:"username="+username,success:function(data)'


这将起作用

ifdata==0怎么会是真的?检查firebug中的响应??还有一个技巧是在success函数中始终使用response named variable,这将帮助您进行编码和调试。虽然这个答案可能是正确的,但如果它解释了为什么需要引号,则会更有用。哇。你是个天才。如果你有时间,那么请再检查一次我的查询嗨,请检查
if($find>0)
 {
   echo 'something';
 }
'data:"username="+username,success:function(data)'
data:{"txtusername":username},success:function(data)