我有一个ajax函数,它返回一个响应。
response.callback
是包含脚本标记和我感兴趣的回调的渲染树枝视图的结果:
<script>
The code I want to run with {{ parameters }} rendered by twig
</script>
如何执行脚本标记中包含的response.callback代码?
或者,我可以在没有脚本标记的情况下渲染js代码但是我需要找到一种方法来渲染带有twig的js文件并将参数传递给该文件。
非常感谢!
答案 0 :(得分:0)
您可以使用“eval”函数来运行代码字符串,而不是渲染到页面。为此,请首先确保从返回的数据中删除脚本标记。
答案 1 :(得分:0)
嗯,喜欢这个答案。 我需要将代码放在现有的dom元素中,然后循环遍历脚本标记:
var $callback = $('#json_callback');
$callback.html(response.callback);
try {
$callback.find("script").each(function(i) {
eval($(this).text());
});