DWR中回调函数怎么传递多个参数的问题?

再次使用到了DWR没办法,遇到怎么把多个参数传递到回调函数里面的问题,有点棘手,嘿嘿不过不怕,先找百度,查了半天找到了,嘿嘿,我就先做个记录。

 

function getXMLData(id){
ReadXML.readTestXML(callback);
}

var callback = function callBack(data){

alert(id);
alert(data[id-1].devType);
alert(data[id-1].ipAddress);
alert(data[id-1].serverPort);
alert(data[id-1].username);
alert(data[id-1].password);
}

getXMLData("5");

 

其实这样子的写法,alert(id) 会提示你id未定义的。

 

那么怎么解决呢??

 

function getXMLData(id){
ReadXML.readTestXML(function(data){callback(data,id)});
}

var callback = function callBack(data,id){
alert(id);
alert(data[id-1].devType);
alert(data[id-1].ipAddress);
alert(data[id-1].serverPort);
alert(data[id-1].username);
alert(data[id-1].password);
}

 

 

id 就可以弹出了来了,就这样就可以传递多个参数了,其实后面加上id,name,pwd都可以传递。

 

还有一个问题就是怎么解决在回调函数中把我从服务端取回的数据,取到其他的函数中去使用,

这里你就可以采用拼接字符串的方式,做成一个table 然后放到一个div里面去,但是这个div可以设置成不显示,

然后你就可以通过getElementById()的方式去取到你在回调函数中的数据了。

 

 

function getXMLData(id){
ReadXML.readTestXML(function(data){callback(data,id)});
}

var callback = function callBack(data,id){
if(id!=0){
var table = "<TABLE><TR><TD id=\"type\">"+data[id-1].devType+"</TD></TR>

<TR><TD id='ip'>"+data[id-1].ipAddress+"</TD></TR>

<TR><TD id='port'>"+data[id-1].serverPort+"</TD></TR>

<TR><TD id='user'>"+data[id-1].username+"</TD></TR>

<TR><TD id='pwd'>"+data[id-1].password+"</TD></TR></TABLE>";


document.getElementById("div").innerHTML=table;
document.getElementById("div").style.display='none';
}
}

 

 

function play(){


var ip=document.getElementById("ip").innerHTML;
var username=document.getElementById("user").innerHTML;
var ports=document.getElementById("port").innerHTML;
var pwd=document.getElementById("pwd").innerHTML;
var chan=index;
var type=document.getElementById("type").innerHTML;

 

alert(ip);

alert(username);

alert(ports);

alert(pwd);

alert(chan);

alert(type);


}

 

ok 采用这种方式你就可以取到回调函数中的从服务器端返回的数据了。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值