JS文件在script标签's src属性下载,但没有执行(从ajax调用)

JS file in script tag's src attribute downloaded but not executed(from ajax call)

本文关键字:执行 调用 ajax 下载 属性 标签 script 文件 src JS      更新时间:2023-09-26

我正在从jquery调用一个ajax调用,像这样:

$.ajax({
  type: 'GET',
  url: 'edit.htm',
  success: function(data){
    container.html(data);
  },
});

从ajax调用接收到的数据包含引用其他JS文件的脚本标签,例如:angularjs。当我查看firebug时,我看到JS文件被下载了,但它们没有出现在Script选项卡中,可以调试它。

JS文件被下载但没有被执行。

我如何绕过这个?

上面的ajax调用和容器元素存在于一个名为info.htm的html文件中。

和edit.htm(从ajax调用获取的数据)有脚本标记和其他html数据。

谢谢。p.s.:如果它有帮助:我可以看到JS文件在firebug的"控制台"选项卡中下载,但是,我看不到它们在firebug的"脚本"选项卡中列出。

尝试使用jQuery.getScript("url")获取更多详细信息,请参阅此它隐式地调用ajax。

或者试试这样写:

$.ajax({
  type: 'GET',
  url: 'edit.htm',
  success: function(data){
    $(data).appendTo(container);
  },
});

我曾经有一个问题与CSS -它有不正确的Content-Type头和不被浏览器解释。这是问题所在吗?您的服务器返回text/javascript请求的脚本?

可能是您的要求有点奇怪,因为服务器不返回客户端代码。

最佳做法是在开始时加载js文件,然后在完成ajax脚本后调用所需的方法。

然而,eval可能不是一个好的实践,但这是一个解决方案。要执行变量中的javascript代码,你需要使用eval方法。

请看看这个参考http://www.w3schools.com/jsref/jsref_eval.asp