$.getScript("/js/my.js")
.done(function(script, textStatus) {
console.log(script);
myFunction();
})
.fail(function(jqxhr, settings, exception) {
$("div.log").text("Triggered ajaxError handler.");
});
.done
中的脚本参数返回我的整个js文件,其中还包含myFunction()
。但是我收到错误Uncaught ReferenceError: myFunction is not defined
my.js
$(function () {
function myFunction() {
console.log("Worked!")
}
});
答案 0 :(得分:0)
我尝试了你的代码,我遇到的唯一错误就是你对传递的参数一无所知
Uncaught ReferenceError: argument is not defined
如果我删除参数并调用您的函数,如:
.done(function(script, textStatus) {
console.log(script);
myFunction();
}
工作正常。
确保JS文件中的函数名称正好是myFunction。 也许重新创建它以避免特殊字符。
我的完整工作示例:
来自JSP:
$.getScript("<%=request.getContextPath()%>/resources/js/my.js")
.done(function(script, textStatus) {
console.log(script);
myFunction();
})
.fail(function(jqxhr, settings, exception) {
$("div.log").text("Triggered ajaxError handler.");
});
web应用\资源\ JS \ my.js
function myFunction() {
console.log("Worked!")
}
答案 1 :(得分:0)
使用以下内容修复。参考 - &gt; this基本上从你们那里得到了关于全局变量的想法。
内部my.js
MyObject = {
abc: function () {
console.log("Worked")
}
}
我在MyObject.abc()
.done
的方式调用它