首页 > 解决方案 > 从 AJAX 请求返回的 JS 代码字符串创建和加载 JS 文件

问题描述

我正在尝试动态加载 html 内容并在 ajax 响应上执行 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()这就是我愚蠢的头脑告诉我的。

帮助将不胜感激。

标签: javascriptjqueryajax

解决方案


您确定内容包含脚本标签吗?如果不包在一个。

$('body').append ($('<script>').html(ajaxResponse.content));

推荐阅读