javascript jquery - 执行通过ajax收到的javascript代码

时间:2015-06-01 17:06:40

标签: javascript jquery ajax callback twig

我有一个ajax函数,它返回一个响应。

response.callback是包含脚本标记和我感兴趣的回调的渲染树枝视图的结果:

<script>
The code I want to run with {{ parameters }} rendered by twig
</script>

如何执行脚本标记中包含的response.callback代码?

或者,我可以在没有脚本标记的情况下渲染js代码但是我需要找到一种方法来渲染带有twig的js文件并将参数传递给该文件。

非常感谢!

2 个答案:

答案 0 :(得分:0)

您可以使用“eval”函数来运行代码字符串,而不是渲染到页面。为此,请首先确保从返回的数据中删除脚本标记。

答案 1 :(得分:0)

嗯,喜欢这个答案。 我需要将代码放在现有的dom元素中,然后循环遍历脚本标记:

var $callback = $('#json_callback');
$callback.html(response.callback);
try {
    $callback.find("script").each(function(i) {
        eval($(this).text());
    });