使用jQuery从PHP获取变量值

1 php jquery

那么如何用jquery从php文件中获取变量值?jquery代码在其他文件中(tpl)

例如我有register.php和register.tpl(register.php的模板文件)

register.php

 ...some includes here...



if(isset($_POST['submit'])) {
    $username = mysql_real_escape_string(trim($_POST['username']));
    $email = mysql_real_escape_string(trim($_POST['email']));
    $check = $mysql->query("SELECT username FROM ".TBL_USERS." WHERE username = '".$username."' OR email = '".$email."'");
$rows_check = mysql_num_rows($check);
if($rows_check > 0) {
    echo 1;
} else {
    $password = mysql_real_escape_string($_POST['password']);
        $salt = generate_salt($email);
        $hash = hash_password($password, $salt);
        $q = $mysql->query("INSERT INTO ".TBL_USERS." (username, password, email, salt) VALUES ('".$username."', '".$hash."', '".$email."', '".$salt."')");
        if($q) {
            header("Location: index.php");
        } else {
            die(mysql_error());
        }   
    }
} else {
.. calling parse template function ...
}
Run Code Online (Sandbox Code Playgroud)

register.tpl

 ..jquery library included..
    <form id="register" action="register.php" method="post">
       <tr>
       <td>Username</td>
       <td><input type="text" id="username" name="username" class="register" style="width: 200px;" />
    </td>
Run Code Online (Sandbox Code Playgroud)

电子邮件...其他输入... $("#username").blur(function(){

var email_v = $("#email").val();
 $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
 $.post("register.php",{ username:$(this).val(), email: email_v, submit: true } ,function(data)
 {
  if(data=="1") 
  {
   $("#msgbox").fadeTo(200,0.1,function()
   {

    $(this).html('This User name Already exists').addClass('messageboxerror').fadeTo(900,1);
   });
  }
  else
  {
   $("#msgbox").fadeTo(200,0.1,function() 
   {
    $(this).html('Username available to register').addClass('messageboxok').fadeTo(900,1);
   });
  }
 });
});
</script>
Run Code Online (Sandbox Code Playgroud)

当我将整个register.php更改为测试目的或脚本工作时......但是对于原始版本,它始终显示用户名可用...

Ben*_*ard 5

最好的办法是将PHP变量输出为隐藏字段或JavaScript变量:

<input type="hidden" id="my_var" name="my_var" value="<?php echo($my_var); ?>" />

// access it like this:    
alert($('#my_var').val());
Run Code Online (Sandbox Code Playgroud)

要么

<script type="text/javascript">
    var my_var = <?php echo($my_var); ?>;
</script>

// access it like this
alert(my_var);
Run Code Online (Sandbox Code Playgroud)

应该这样做:-)