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

use*_*629 18 php jquery

我有一个php变量:

$name_of_current_page
Run Code Online (Sandbox Code Playgroud)

我在我的视图中可以使用,并且我希望将值提供给jquery.最好的方法就像下面那样吗?

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

});
Run Code Online (Sandbox Code Playgroud)

tft*_*ftd 26

这取决于您是否使用某种模板引擎.

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

    var current page = "<?php echo $your_var; ?>";
    
    Run Code Online (Sandbox Code Playgroud)
  2. 树枝引擎:

    var current page = "{{ your_var }}";
    
    Run Code Online (Sandbox Code Playgroud)
  3. SmartyRainTPL引擎:

    var current page = "{$your_var}";
    
    Run Code Online (Sandbox Code Playgroud)

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

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


Dha*_*ana 6

var当前页面= "" ;

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

无论如何,为了简化您的代码,我只是稍微重新做了一下。

$name_of_current_page = "HomePage";
Run Code Online (Sandbox Code Playgroud)

而对于 Javascript;

var currentPage = "<?= $name_of_current_page; ?>";
Run Code Online (Sandbox Code Playgroud)

应该是这样。

  • 您可以在变量中包含空格。除了 php 标签,这是正确的方法。你最好不要在 php 中使用短标签。而不是“&lt;?=" 使用“&lt;?php” [PHP 6 正式弃用短标签] 如果我是对的 (2认同)