我正在调用来自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:如果有帮助:我可以在firebug“控制台”选项卡中看到正在下载的JS文件,但是,我无法在firebug“脚本”选项卡中看到它们。
答案 0 :(得分:1)
尝试使用jQuery.getScript("url")
了解更多详情,请参阅this
它隐含地进行了ajax调用。
或尝试类似:
$.ajax({
type: 'GET',
url: 'edit.htm',
success: function(data){
$(data).appendTo(container);
},
});
答案 1 :(得分:0)
我曾经遇到过CSS的问题 - 它有不正确的Content-Type
标题,并且没有被浏览器解释。这可能是问题吗?您的服务器是否为请求的脚本返回text/javascript
?
答案 2 :(得分:-3)
可能是您的要求有点奇怪,因为服务器不会返回客户端代码。
最佳做法是在开始时加载js文件,并且可以在完成ajax脚本后调用所需的方法。
然而,eval可能不是一个好习惯,但这是一个解决方案。 要执行变量中的javascript代码,您需要使用eval方法。
请查看此参考http://www.w3schools.com/jsref/jsref_eval.asp
希望这会有所帮助。