【发布时间】:2015-05-22 09:02:39
【问题描述】:
我有一个包含以下内容的 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?这肯定是不必要的吗?
提前感谢您的帮助!
【问题讨论】:
-
要么查看显示模块模式,要么将其设置为函数内部的全局,即
window.ApiCall = {}; -
我会尝试并回复您,谢谢!
-
实际上,您已经有一个全局(ApiCall)并且不知道它......您更有可能只是在第一个代码之前运行第二个代码。
标签: javascript html namespaces global