中以这种方式命名为
$.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!")
}
});
使用以下内容修复。参考 ->这基本上是从你们那里得到了有关全局变量事物的想法。
内部my.js
MyObject = {
abc: function () {
console.log("Worked")
}
}
我在 .done
MyObject.abc()
我尝试了您的代码,我唯一的错误是对您传递的参数一无所知
Uncaught ReferenceError: argument is not defined
如果我删除参数并将您的功能调用:
.done(function(script, textStatus) {
console.log(script);
myFunction();
}
工作正常。
确保JS文件中的函数名称完全是我的功能。也许重新创建它以避免特殊字符。
为我完全工作的示例:
来自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.");
});
WebApp Resources JS My.js
function myFunction() {
console.log("Worked!")
}