jQuery $ .getScript-未介绍的参考:未定义我的功能


$.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!")
}

最新更新