您的位置:首页 > Web前端 > JavaScript

一个问题,关于函数嵌套后的变量作用域

2013-08-28 22:20 225 查看
一个问题,关于变量作用域。

【现在明白了,其实是一个很简单的问题。Ajax的处理是异步的,如果要对success函数进行输出,就得在里面执行。】

//载入当前课程、当前作业的全部学生列表
function getStudentsAssignmentsList(courseID){
courseID = courseID || currentCourseID;
var self = this;
var assignmentID = $(self).attr("name");
currentAssignmentID = assignmentID;
$.get('course/members.php',{
id:courseID
},
function(data){
if (data.error_code!=0) {
alert('获取学生提交作业列表出现错误:'+ data.message);
return null;
}
else{
var StuList = '<table><tbody><tr><th>学生ID</th><th>学生姓名</th><tr>';
data['students'].forEach(function(ele){
$.get('assignment/details.php',{
assignment_id:currentAssignmentID,
uid:ele.id
},function(detail){
if (detail['error_code']==0 && detail['status']==2) {
StuList += '<tr><td>'+ele["id"]+'</td><td>'+ele["name"]+'</td></tr>';
}
});
});
$('#tabPage_studentAssignmentsList').html(StuList+'</tbody></table>');
}
});
$('#tabPage_studentAssignmentsList').show();

}
最后写入到 id=tabPage_studentAssignmentsList的div里的html内容却并不包含   StuList += '<tr><td>'+ele["id"]+'</td><td>'+ele["name"]+'</td></tr>';    的执行结果(在能执行到的时候)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaScript 闭包