使用jQuery从PHP获取变量值

那么如何用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 ... } 

register.tpl

  ..jquery library included.. 
Username

电子邮件…其他输入… $(“#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); }); } }); });  

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

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

  // access it like this: alert($('#my_var').val()); 

要么

  // access it like this alert(my_var); 

应该这样做:-)

要么你做一个Jquery Ajax请求 ,它将请求一个php页面,它将返回你想要的任何东西,或者你用php回显一个javascript变量

  var javascript_variable = "whatever"; '; ?> 

如果你这样做,它会工作

 echo "1"; 

然后

 if(result == "1") { 

如果没有(但我已经检查了我的代码而没有引号,它没有用,有了,没关系),检查Firebug控制台的响应。

在我公司的应用程序需要在动态元素上调用Jquery并且我们在php文件中调用Jquery的情况下,我们将在Jquery调用中直接调用php。

例如:

警报($( ‘#’)VAL());

当然不适用于所有情况。 如果你必须调用一个你没有PHP文件访问权限的变量(可能是一个.tpl文件,具体取决于你的设置),你可能需要设置一个隐藏的输入,如上所述。