用PHP var填充jQuery或ajax

时间:2012-06-25 18:48:27

标签: php jquery

是否可以通过PHP填充jQuery变量

我的意思是这样的:

<?php
$string_php = "50%";
?>

使用“$ string”变量我想填充jQuery:

var jquery_string = "$string_php";
$('.bar1').animate({'height':'jquery_string'},500);

上面的代码只是我想要的工作方式

3 个答案:

答案 0 :(得分:3)

,但 php标记 <?php ?>(以便php知道其代码):

var jquery_string = "<?php echo $string_php;?>";
$('.bar1').animate({'height':jquery_string}, 500); // no quotes for variables

这是可能的,因为PHP(服务器端)在jQuery(客户端)之前运行。页面首先进入服务器,服务器将响应(php代码在那里解析)返回给浏览器。

答案 1 :(得分:2)

不确定

var jquery_string = "<?php echo $string_php;?>";

由于首先在服务器上处理PHP,然后将结果发送到用户的浏览器,这很容易,并且经常完成。

以上代码将导致:

var jquery_string = "50%";

但是,您希望修改第二行,从变量中删除引号,使其为:

$('.bar1').animate({'height':jquery_string},500);

因为保持jquery_string周围的引号会强制它被解释为字符串,而你想要一个变量。

最终结果相当于:

$('.bar1').animate({'height':'50%'},500);

答案 2 :(得分:-1)

对于简单变量,只需像用户所说的那样。

F.ex。 var jquery_string = "<?php echo $string_php;?>";(摘自@ Blaster的解决方案)。 换句话说:

  

最简单的解决方案是在我们定义变量的任何地方输出一个我们打算用作字符串文字的php变量。

但是:正确的方法是,每当我们使用服务器端变量作为Javascript字符串时,它应该被编码,因为当双引号存在时,上述解决方案将失败。这里json_encode可能会派上用场。

var jquery_string = <?php echo json_encode($var); ?>;

代码示例

我们希望Javascript提醒字符串"Hey", dude!

$string = "\"Hey\", dude!";
echo "alert(\"" . $string . "\");";

结果:

alert(""Hey", dude!"); <--- will give Javascript error

相反:

 echo "alert(" . json_encode($string) . ");";

结果:

alert("\"Hey\", dude!"); <---- correct JS code