2013-12-12 37 views
0

在我的cakephp2應用程序中,我試圖將一個變量從我的佈局傳遞給Javascript。如何使用window.app將cakephp中的變量傳遞給Javascript

我用下面的代碼:

$test = array('a'=>'test'); 
$this->Js->set('data', json_encode($test)); 
echo $this->Js->writeBuffer(); 

導致以下HTML:當我在我的鉻控制檯達到window.app

<script type="text/javascript"> 
//<![CDATA[ 
$(document).ready(function() {window.app = {"data":"{\"a\":\"test\"}"};}); 
//]]> 
</script> 

但是,我得到的錯誤「window.app未定義」。

任何想法我做錯了什麼?

回答

1

JavaScript變量已設置爲文檔就緒,您無法在全局訪問,因此將onDomReady設置爲全局訪問爲false。

$test = array('a'=>'test'); 
    $this->Js->set('data', json_encode($test)); 
    echo $this->Js->writeBuffer(array('onDomReady' => false)); 

希望這可以幫助你。

+0

不幸的是,給出了相同的結果「window.app未定義」。 – Hans

+0

但是我不應該在我的Chrome/Firebug控制檯中看到window.app?因爲它無法到達。 – Hans

+0

我的不好,現在完美。數組('onDomReady'=> false)訣竅。謝謝! – Hans

相關問題