//使用dwr调用后台方法得到数据
function getActive(startDate,startTime){
var result="";
activeBS.searchActive(
startDate,
startTime,
<%=personId%>,
function(datas){
//datas后台是一个list,如果有数据,只有一笔
for(var i=0; i < datas.length; i++){
var id = datas[i][0];
var name = datas[i][1];
var startDate = datas[i][2];
var startTime = datas[i][3]; alert(id+","+name+","+startDate+","+startTime);
result=id+","+name+","+startDate+","+startTime;
}
}
);
return result;
}
在下面的循环里面会调用getActive()方法,并得到返回值填充到字符串wStr中。
但上面虽然alert(id+","+name+","+startDate+","+startTime);能够打印出值来,但result并没有改变,还是""..不清楚这是什么什么原因。
for(var x=0;x<8;x++){
wStr+="<tr><td>"+(x+8)+":00</td><td><a href='a' onMouseOver='javascript:sh(event,1)'>"+getActive('20090323',(x+8)+":00")+"</a></td>";
wStr+="</tr>";
}
解决方案 »
- XFire WebService 参数和返回值中有list ,出错?
- 请高手,给一个牛点的通用的DAO类,我学习学习!!!!!
- 急!!!java ckeditor+ckfinder上传图片问题!!!
- eWebEditor在线文本编辑器,使用中的问题
- 求教:jsp程序和ftp软件可以通信吗?
- checkbox 对复合主键的处理
- 紧急求救!!急需一个时间控件
- 穷疯了,便宜出卖公司网站空间!
- JBuilder8 怎么保存JSP啊,告诉我字符错误
- java bean在JSP中使用问题
- 有一个 模型类,不同的用户调用,同时访问了数据库里面的同一条记录,最后是不是服务器端只有一个对象,还是说有2个
- 问个java+flex 的问题 做过企业级开发的 进来帮小弟解觉一下哦
但是,我的alert(id+","+name+","+startDate+","+startTime);已经打印出值来了而最后返回的result还是"";
确实很奇怪
如果alert(id+","+name+","+startDate+","+startTime);那么 alert(id+","+name+","+startDate+","+startTime);
result=id+","+name+","+startDate+","+startTime;
alert(result);
看看是不是result=""
就是这个问题。我在for循环上加上这句就可以了。
//设置为同步方式,以便DWR依次发出下列请求
dwr.engine.setAsync(false);dwr.engine.setAsync(false);
for(var x=0;x<8;x++){
wStr+="<tr><td>"+(x+8)+":00</td><td><a href='a' onMouseOver='javascript:sh(event,1)'>"+getActive('20090323',(x+8)+":00")+"</a></td>";
wStr+="</tr>";
}