如何在Cakephp 2.3中将变量传递给javascript?

时间:2013-11-07 22:11:38

标签: javascript cakephp cakephp-2.0

我正在尝试将一个变量数组传递给CakePHP 2.3中的Javascript,但无法使其工作。我希望有人能够很好地解决这个问题。

我已成功将数组传递给我的视图,方法是将以下内容放在控制器中:

$this->set(compact('myArray'));

在我看来尝试将变量传递给myJs.js。

$this->Js->set('myArray');
$this->Html->script('myJs');

为什么我不能在myJs.js中访问myArray?

2 个答案:

答案 0 :(得分:4)

使用Js helper的方法将varible传递给javascript

只需使用set的{​​{1}}方法设置您要设置的变量。

js helper

您可以将$this->Js->set('myArray', $myArray); echo $this->Js->writeBuffer(array('onDomReady' => false)); 变量作为$myArray javascript访问。

答案 1 :(得分:1)

echo $this->Html->scriptBlock(
    "var myArray = '" . json_encode($myArray) . "'",
    array('inline' => true)
    );
echo $this->Html->script('myJs');