调用php时ajax无法正常工作

时间:2011-03-06 11:55:23

标签: php jquery xml ajax

这是我的jquery脚本:

  <script>
  $(document).ready(function(){
    $("#username").blur(function()
{
 //remove all the class add the messagebox classes and start fading
 $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
 //check the username exists or not from ajax
 $.post("check.php",{ user_name:$(this).val() } ,function(data)
 {
  if(data=='no') //if username not avaiable
  {
   $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
   {
    //add message and change the class of the box and start fading
    $(this).html('This User name Already exists').addClass('messageboxerror').fadeTo(900,1);
   });
  }
  else
  {
   $("#msgbox").fadeTo(200,0.1,function()  //start fading the messagebox
   {
    //add message and change the class of the box and start fading
    $(this).html('Username available to register').addClass('messageboxok').fadeTo(900,1);
   });
  }
 });
});
  });
  </script>

这是我的php脚本:

<?php
header("Content-Type: text/plain");
$username=$_POST["user_name"]; 
$xml = simplexml_load_file("usernames.xml");
foreach($xml->children() as $child)
  {
  if ( $child == $username ) {
    echo "no";
}
    }
?> 

这是我的xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
 <usernames>

        <num>bobby</num> 
        <num>murali</num> 
        <num>rakesh</num> 
        <num>manoj</num> 


    </usernames> 

我不明白问题在哪里。我认为php正在被调用并回应正确的声明..但是我的脚本没有正确地捕捉它我认为。我无法理解问题存在的位置。什么名称都输入它只是跳过if循环并进入我的jquery脚本中的else。我已经单独执行了php并且它运行正常。我认为问题在于jquery脚本。当我连接到数据库并且fing时,我的脚本工作正常用户名的可用性。

1 个答案:

答案 0 :(得分:0)

尝试:{ 'user_name' : $(this).val() }