问题
I am trying to create a route inside of some Javascript inside of a Twig template and need to use a JS variable as a value to a route parameter.
Example:
window.location.href = {{ path('post_display', { 'id': this_is_where_i_need_to_use_the_js_var }) }};
I am using the Silex framework and am unsure if FOS JS works for Silex. I don't think it does, though.
回答1:
Twig, since it's written in PHP
, runs on the server, completely separately than the javascript code, so what you want needs a workaround.
First, generate the route, but with a placeholder, then replace that with the value of your variable when neccessary:
var route = "{{ path('post_display', { 'id': "PLACEHOLDER" }) }}";
window.location = route.replace("PLACEHOLDER", js_variable);
Something like this should work for you.
来源:https://stackoverflow.com/questions/12009271/using-javascript-variable-in-twig-template-using-silex-framework