如何将php变量的值传递给jquery

时间:2013-06-05 18:02:45

标签: php jquery

我有一个php变量:

$name_of_current_page

我在我的视图中可以使用,并且我希望将值提供给jquery。是最好的方法,如下所示吗?

$(document).ready(function () {
            var current page = "<?php echo $name_of_current_page; ?>" ;

});

4 个答案:

答案 0 :(得分:26)

这取决于你是否使用某种模板引擎。

  1. 如果您使用普通的PHP,唯一的选择就是echo变量:

    var current page = "<?php echo $your_var; ?>";
    
  2. Twig引擎:

    var current page = "{{ your_var }}";
    
  3. SmartyRainTPL引擎:

    var current page = "{$your_var}";
    
  4. 如您所见,还有其他方法。所有这些都很好。这实际上取决于您希望如何编写和组织代码。我个人使用Twig,发现它非常简单,快速和直接。

    另外,正如其他人指出的那样,你可以对服务器进行AJAX调用并获取这样的变量。我发现这种方法既耗时又低效且不安全。如果选择此方法,则会将请求发布到脚本。每个人都可以对该脚本进行发布/获取请求,从而打开大门和DoS / DDoS攻击的大门。

答案 1 :(得分:3)

var 当前页面 =“”;

我认为你不能在变量中有空格。 (我可能是错的)。

无论如何要简化你的代码,我刚刚完成了稍微重做。

$name_of_current_page = "HomePage";

对于Javascript;

var currentPage = "<?= $name_of_current_page; ?>";

那应该是它。

答案 2 :(得分:0)

document.title应该为你提供你需要的东西..像这样的东西要么查询DOM,要么是Ajax imho。

我发现最好将图层分开,而不是将演示文稿和控制器与带有胡椒的html / php代码混合在一起。

答案 3 :(得分:0)

首先,你问,这是填写客户端代码的一种正常方式,但是这一个将在页面加载时加载,如果你想在页面加载后在live上运行它,你必须使用ajax ,原因是如何与服务器端脚本通信的方式,一旦页面加载,就不可能jquery或javascript加载php vars