我正在尝试动态加载html内容并在ajax响应上执行JS。响应对象具有两个 key:value对。
content
:具有html元素js
:具有必需的js 代码如下:
$.post("/some_url.php",{job: "getThatPage"},function(response) {
/* parsing response as JSON */
let ajaxResponse = JSON.parse(response);
/* adding content to page body */
$("body").html(ajaxResponse.content);
/* now ajax.js is a string containing the required JS*/
/* how to execute this script? */
});
从ajax请求返回的脚本即使被添加到DOM也不会执行,这就是为什么我将内容和脚本分开的原因。我知道我可以将所需的JS放入一个单独的文件中,并成功加载getScript()
,但这对我没有帮助,因为我的 ajax请求正在为每个登录用户返回一些自定义的JS。
我认为如果能够以某种方式创建.js file
并将ajax.js
的内容放入其中并使用getScript()
方法加载它,则可以解决。那就是我愚蠢的心告诉我的。
我们将不胜感激。
答案 0 :(得分:1)
您确定内容包含脚本标记吗?如果没有将它包装成一个。
$('body').append ($('<script>').html(ajaxResponse.content));