在我的cakephp2应用程序中,我正在尝试将布局中的变量传递给Javascript。
我正在使用以下代码:
$test = array('a'=>'test');
$this->Js->set('data', json_encode($test));
echo $this->Js->writeBuffer();
这导致以下HTML:
<script type="text/javascript">
//<![CDATA[
$(document).ready(function () {window.app = {"data":"{\"a\":\"test\"}"};});
//]]>
</script>
但是当我尝试在我的chrome控制台中访问window.app时,我收到错误“window.app is undefined”。
任何想法我做错了什么?
答案 0 :(得分:1)
在文档就绪时设置了JavaScript变量,您无法全局访问,因此将onDomReady
设置为false以便全局访问。
$test = array('a'=>'test');
$this->Js->set('data', json_encode($test));
echo $this->Js->writeBuffer(array('onDomReady' => false));
希望这会对你有所帮助。