我的老板命令我在我们正在开发的网站上添加一些Javascript到几页.我是一个完整的Javascript noob(我心里都是PHP编码器),但我一直在学习和使用Javascript两天,直到现在,一切都进展顺利.
现在我遇到了一个问题.我认为它与变量范围有关,我认为我理解变量范围,但我正在努力完成这个非常简单的任务.如果我有更多的时间来学习如何使用JS,那么在向你们提供帮助之前,我会更多地反对它,但是我需要在下周一之前完成一些工作.快到了..
代码如下,进一步说明如下.
var activeTopic;
$.post("test.php",
{
request:"getActiveSection",
courseid:courseid
},
function (data, status) {
if (data != "none") {
activeTopic = data;
displayActiveTopic();
}
});
alert(activeTopic);
Run Code Online (Sandbox Code Playgroud)
我正在使用Jquery的POST函数来调用test.php.PHP获取课程ID并返回当前活动的主题.PHP代码返回正确的值.我知道这一点,因为如果我提醒(数据);,则会显示正确的值.
但是,如果我提醒(activeTopic); 在函数外部,我注意到全局变量activeTopic没有改变.为什么?
在此先感谢您的帮助.当我有时间的时候,我会更多地投入学习JS.到目前为止它非常有趣......与PHP非常不同,但仍然很有趣.
这与范围无关,与时间有关.
activeTopic.activeTopic稍后,当 HTTP 响应到达时,将分配一个值activeTopic.
您需要处理当前为其分配值的回调函数内的数据activeTopic.
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |