我不知道这是否过于本地化,但我没有太多代码。我遇到的问题是在一个名为System.js
的名为budgetModel
的全局js文件中声明一个对象,该文件保存整个Web应用程序的数据显示为未定义。
我在BudgetModel
文件中的js中创建了一个名为System.js
的对象类,当用户登录网站时,会将它们指向一个名为index.php
的页面,其中onload执行两个名为的方法setupSystem()
然后setup()
。
在关闭'body'标签之前的html底部附近,我放置了两个脚本,System.js
和一个设置函数,用json作为变量加载从php传递给javascript的数据{{1另一个叫budgetcost
:
budgetexp
同样在<script src="util/js/System.js" type="text/javascript"></script>
<script type="text/javascript">
function setup(){
budgetModel.setCost(budgetcost, budgetexp);
}
</script>
文件中,我有这个全局函数和变量:
System.js
在var budgetModel;
function setupSystem(){
budgetModel = new BudgetModel();
}
文件中调用setupSystem
函数之前调用setup
函数。我得到的错误是抱怨index.php
变量未定义。如何解决这个问题,或者甚至是否可能,如果有可能我的budgetModel
脚本行应该在其他地方?
编辑:
我解决了这个问题。 System.js
文件中的语法错误非常小。
我也注意到那个窗口。如果变量声明为全局,则语法无关紧要。抱歉打扰每个人x_x
EDIT2:
这里有尽可能多的代码:
的index.php:
System.js
System.js:
<!DOCTYPE html>
<html>
<head>
<title>Test Page</title>
<link rel="stylesheet" href="util/css/globalStyles.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body onload="setup();">
...
<script src="util/js/System.js" type="text/javascript"></script>
<script type="text/javascript">
function setup(){
if (typeof(budgetcost) !== 'undefined'){
setupSystem();
budgetModel.setModel(budgetcost, budgetexp);
teamAssumpModel.setModel(teamagents);
}
}
</script>
</body>
所以这就是我所拥有的。 budgetModel在index.php中工作但是当我将这个相同的文件包含到另一个php文件中时,它读取为undefined。还有什么需要让其他php文件可见?