$(document).ready(function() {
userList();
alert(hashUser.size());
});function userList() {
$.ajax({
type : "POST",
dataType : "json",
url : "ScoreJson/listClassmates.action",
success : function(data) {
$.each(data.userList, function(i, item) {
hashUser.add(item.userId, item.realName);
}); },
error : function() {
alert("action_error");
}
});
}请教童鞋们 hashUser.size() 怎么总是为0呢 明明是有数据的 是不是异步加载的数据在$(document).ready不能立即获得到,有没有什么解决方案呢
userList();
alert(hashUser.size());
});function userList() {
$.ajax({
type : "POST",
dataType : "json",
url : "ScoreJson/listClassmates.action",
success : function(data) {
$.each(data.userList, function(i, item) {
hashUser.add(item.userId, item.realName);
}); },
error : function() {
alert("action_error");
}
});
}请教童鞋们 hashUser.size() 怎么总是为0呢 明明是有数据的 是不是异步加载的数据在$(document).ready不能立即获得到,有没有什么解决方案呢
$.ajax({
type : "POST",
dataType : "json",
url : "ScoreJson/listClassmates.action",
success : function(data) {
$.each(data.userList, function(i, item) {
hashUser.add(item.userId, item.realName);
});
alert(hashUser.size());
},
error : function() {
alert("action_error");
}
});
}你都说是异步的了
+++ajax是异步请求的,userList()函数执行到send()的时候,代码不会等待你的ajax的返回结果就立即返回了,接着往下运行下一句了。如果你的ScoreJson/listClassmates.action执行速度非常快,而且是在本地测试的情况,有可能会看到hashUser.size()的结果不是0
function userList() {
$.ajax({
type : "POST",
dataType : "json",
async:false,
url : "ScoreJson/listClassmates.action",
success : function(data) {
$.each(data.userList, function(i, item) {
hashUser.add(item.userId, item.realName);
});},
error : function() {
alert("action_error");
}
});
}