2012-06-22 43 views
2

我需要生成一個動態JSON對象使用像assettranslate一些小枝功能。我想把它放在外部settings.js文件中。我可以使用include 'settings.js.twig'並在其中放入相關的代碼。在Symfony 2中生成動態javascript的正確方法?

這是在Symfony 2中生成動態javascript的正確方法嗎?

+0

我不明白究竟你想要做什麼訪問:做一個JSON對象與JavaScript?在樹枝中調用JavaScript? –

+0

@GabrielTheron只是一個單獨的文件中的json對象,由需要翻譯的字符串組成,並使用其他一些小枝函數。 – gremo

回答

0

如果你想在JavaScript中調用一個樹枝,你可以製作一個控制器來呈現使你的JSON並從JavaScript請求(ajax或類似的東西)調用它的樹枝。

然後你有你的JSON在JavaScript中,你可以做任何你需要它。

我認爲這並不能完全回答你的問題。我會說你應該儘可能避免用樹枝創建js。

+0

這是一個解決方案,但它爲文件添加了另一個請求,而文件本身可以在不需要任何Ajax的情況下呈現。不過謝謝。 – gremo

2

這並不完全回答你的問題,但它是一個類似的主題。當我需要將數據從控制器/視圖傳遞到JavaScript時,我通常在相關的HTML標籤上設置數據屬性。例如,如果我需要一個AJAX請求的路線,我會寫

<a href="#updateTarget" class="ajaxTrigger" data-ajax-route="{{ path('my_ajax_route') }}">click here for ajax</a> 

,然後用

$('.ajaxTrigger').on('click', function(){ 
    $.getJSON($(this).data('ajax-route'), function(response) { 
    // do something with response 
    }); 
});