从 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>
我明白了,ApiCall 未定义异常,这是有道理的,因为 ApiCall 不在全局命名空间中,但它可以从另一个普通的 .js 文件访问,所以我如何从脚本标签访问它?
或者我是否在全局命名空间中的另一个 javascript 文件中添加一个函数来调用 ApiCall?这肯定是不必要的 运行 左右?
提前感谢您的帮助!
谢谢丹达维斯,
原来有什么东西阻止我的 Api.js 文件完成(可能是语法错误)所以当我调用它时,ApiCall 是未定义的。
感谢您的帮助!
atmd,揭示模块模式很棒,我以后会用到它,谢谢!
谢谢,
沃伦
我有一个 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>
我明白了,ApiCall 未定义异常,这是有道理的,因为 ApiCall 不在全局命名空间中,但它可以从另一个普通的 .js 文件访问,所以我如何从脚本标签访问它?
或者我是否在全局命名空间中的另一个 javascript 文件中添加一个函数来调用 ApiCall?这肯定是不必要的 运行 左右?
提前感谢您的帮助!
谢谢丹达维斯,
原来有什么东西阻止我的 Api.js 文件完成(可能是语法错误)所以当我调用它时,ApiCall 是未定义的。
感谢您的帮助!
atmd,揭示模块模式很棒,我以后会用到它,谢谢!
谢谢, 沃伦