You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行时从变量加载脚本:Ajax获取后端脚本字符串并添加至script标签

嘿,这事儿好办!你已经通过AJAX拿到了后端返回的脚本字符串,接下来只需要把它塞进动态创建的<script>标签里,浏览器就会自动执行这段代码啦。我给你调整下代码,顺便优化下细节:

优化后的实现代码
$.ajax({
    type: "GET",
    url: "Users/_getScript",
    contentType: "application/json; charset=utf-8",
    cache: false,
    success: function (data) {
        // 1. 创建一个空的script元素
        const dynamicScript = document.createElement('script');
        // 2. 把后端返回的脚本字符串赋值给script的内容
        dynamicScript.textContent = data;
        // 3. 将script元素添加到页面中,触发代码执行
        document.head.appendChild(dynamicScript);

        // 可选:如果执行完不需要保留这个script标签,可以移除它
        // dynamicScript.remove();
    }
});

几个关键细节说明

  • 为啥不用全局变量script?其实完全没必要在全局存这个脚本字符串,直接在success回调里处理返回的data就好,全局变量容易引发命名冲突,还不利于代码维护。
  • 用textContent而不是innerHTML?因为你拿到的是纯脚本字符串,textContent会把内容当作纯文本处理,避免HTML解析带来的意外问题,更安全可靠。
  • 为啥添加到<head>?这是动态注入脚本的常规操作,你也可以选择加到<body>末尾,不影响代码执行效果。

如果之前的全局变量是其他地方要用到,那也可以保留,但还是建议尽量把变量的作用域控制在回调里哦~

内容的提问来源于stack exchange,提问作者Habib Ur Rehman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:52:51