Cakephp:如何将值传递到javascript文件中?

opi*_*ike 3 javascript php cakephp

我有一些javascript被包含在视图中,我在这个帖子中使用了inkedmn的方法:add -page-specific-javascript-to-each-view-in-cakephp

所以我现在在我的视图中有以下代码:

$this->set('jsIncludes',array('google'));   // this will link to /js/google.js
Run Code Online (Sandbox Code Playgroud)

但是我需要将一些值从视图传递到javascript文件中,我不确定如何实现这一点.

更新:我想一个选项是回显php文件中的值,包含在div标签中,然后在javascript代码中使用getElementById().

Luk*_*nis 9

您应该能够使用所需的数据将<script>标记直接注入HTML中:

<script type="text/javascript">
var mynum = <?php echo intval($num); ?>;
var mystring = "<?php echo addslashes($string); ?>";
var myarray = <?php echo json_encode(array("one" => 1, "two" => 2)); ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

其他地方的任何javascript都应该能够使用这些变量.

注意:如果使用此数据的代码在页面中较早运行,则他们显然不会看到这些变量.如果是这种情况,要么确保首先加载数据,要么可以使用setTimeout()或document.onready事件延迟代码运行直到页面完全加载.