从 html 个文件中的脚本标签调用非全局命名空间函数

calling non global namespace function from script tags inside html files

我有一个 JavaScript 文件,其中包含以下内容:

(function(){
ApiCall = {};
ApiCall.serviceRoot = "http://Serviceurl/";

ApiCall.GetProducts = function(){
    $.ajax({
        type: "GET",
        url: ApiCall.serviceRoot + "GetProducts",
        data: {},
        cache: false,
        success: function(data) {
            return data;
        },
        error:function(statusCode){
            return statusCode;
        }
    });
};})();

我的 html 文件中有一个 scipt 标签:

<script type="text/javascript">alert(ApiCall.GetProducts());</script>

我明白了,Api​​Call 未定义异常,这是有道理的,因为 ApiCall 不在全局命名空间中,但它可以从另一个普通的 .js 文件访问,所以我如何从脚本标签访问它?

或者我是否在全局命名空间中的另一个 javascript 文件中添加一个函数来调用 ApiCall?这肯定是不必要的 运行 左右?

提前感谢您的帮助!

谢谢丹达维斯,

原来有什么东西阻止我的 Api.js 文件完成(可能是语法错误)所以当我调用它时,ApiCall 是未定义的。

感谢您的帮助!

atmd,揭示模块模式很棒,我以后会用到它,谢谢!

谢谢, 沃伦