将值从ajax传递给php类函数

Q. Is there a way to pass values from ajax to a certain php class having functions? Let's say validating a username on the registration form whether the user exist or not.

This is a simple form that will accept username and has a span tag to display the message.

<form action="" method="POST">
  <input type="text" name="username"><span class="check"></span>
  <input type="submit" name="signup">
</form>

And for the php class:

<?php 
  class User {
    function isUserExist($username) {
      $query = mysql_query("SELECT username FROM users WHERE username='$username'");
      $result = mysql_num_rows($query);

      return ($result !== 0 ? true : false);
    }
  }
?>

It is initialized on the php class that established connection to the database. So calling to the php page will become like this: $user->isUserExist($_POST['username']);.

So is it possible to pass values from the form to ajax and send it to the php class function?

</div>

From Html to ajax

var username = $("input[name='username']").value;

Fetch in ajax & Send it to php(server)

  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
      //set your span to this -> xhttp.responseText;
    }
  };
  xhttp.open("POST", "your php script url", true);
  xhttp.send("username="+username);

Receive it on the server(php)

$mUsername = $_POST['username'];
echo $mUsername;

Read this tutorial for more help Tutorial on PHP + AJAX

Try this,

<script type="text/javascript">
$(document).ready(function(){
    $("input[name = 'signup']").click(function(e) {
        var username = $("input[name = 'username']").val();
        $.ajax ({
            url: "isUserExist_function_existing_file.php", 
            data: { username : username },
            success: function( result ) {
                if(result)
                    alert("Name allready Exist");
                else
                    alert("Name available");
            }
        });
    });
});
</script>