3

我有这样的文件:

{'html' : '<div id="bla">something</div>',
 'script' : ' $().ready(function() { /* some code */});' }

我需要用 jQuery 加载它并执行“脚本”变量。我知道 $.getScript,但我需要不是从 URL 而是从 JSON 文件的一部分运行脚本。否则我需要对服务器执行 2 个重请求而不是 1 个(javascript 代码不是静态的)。

有没有办法这样做?

4

2 回答 2

3

首先解析

var obj = $.parseJSON(jsonString);

然后为 HTML 准备 div:

<div id="forHtml">
</div>

并运行您的代码:

$('#forHtml').html(obj.html);
eval(obj.script);
于 2011-08-05T08:03:11.380 回答
1

如果需要,您可以使用 JavaScript 的 eval(script) 或 jQuery.globalEval(script):

http://www.w3schools.com/jsref/jsref_eval.asp

http://api.jquery.com/jQuery.globalEval/

于 2011-08-05T08:02:56.623 回答