我有一个php变量:
$name_of_current_page
我在我的视图中可以使用,并且我希望将值提供给jquery。是最好的方法,如下所示吗?
$(document).ready(function () {
var current page = "<?php echo $name_of_current_page; ?>" ;
});
答案 0 :(得分:26)
这取决于你是否使用某种模板引擎。
如果您使用普通的PHP,唯一的选择就是echo
变量:
var current page = "<?php echo $your_var; ?>";
Twig引擎:
var current page = "{{ your_var }}";
var current page = "{$your_var}";
如您所见,还有其他方法。所有这些都很好。这实际上取决于您希望如何编写和组织代码。我个人使用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