求教jquery ajax请求后台的数据不能作为数组下标是怎么回事,跪求解决,代码如下:
<scripttype="text/javascript">varalldata="移动电源,流量卡,c8812机,google,baidu,msn,qq,cctv,mi...
<script type="text/javascript">
var alldata = "移动电源,流量卡,c8812机,google,baidu,msn,qq,cctv,microsoft,adobe";
var alldataarr = alldata.split(",");
var num = alldataarr.length-1;
var timer;
var a;
function change(){
$("#oknum").val(alldataarr[GetRnd(0,num)]);
}
function GetRnd(min,max){
return parseInt(Math.random()*(max-min+1));
}
$(document).ready(function(){
$(".start").click(function(){
clearInterval(timer);
timer = setInterval('change()',90);
});
$(".end").click(function(){
$.post("roll.jsp",
function(data,status){
a=data
//alert(data);这样没问题
//$("#oknum").val(alldataarr[1]);这样也没问题
clearInterval(timer);
//$("#oknum").val(alldataarr[a]);就是这一句有问题
});
});
})
</script>
注释部分是关键,data可以直接alert,但是$("#oknum").val(alldataarr[a])不行,$("#oknum").val(alldataarr[1])直接指定是可以的 展开
var alldata = "移动电源,流量卡,c8812机,google,baidu,msn,qq,cctv,microsoft,adobe";
var alldataarr = alldata.split(",");
var num = alldataarr.length-1;
var timer;
var a;
function change(){
$("#oknum").val(alldataarr[GetRnd(0,num)]);
}
function GetRnd(min,max){
return parseInt(Math.random()*(max-min+1));
}
$(document).ready(function(){
$(".start").click(function(){
clearInterval(timer);
timer = setInterval('change()',90);
});
$(".end").click(function(){
$.post("roll.jsp",
function(data,status){
a=data
//alert(data);这样没问题
//$("#oknum").val(alldataarr[1]);这样也没问题
clearInterval(timer);
//$("#oknum").val(alldataarr[a]);就是这一句有问题
});
});
})
</script>
注释部分是关键,data可以直接alert,但是$("#oknum").val(alldataarr[a])不行,$("#oknum").val(alldataarr[1])直接指定是可以的 展开
2个回答
展开全部
你好,你得看看弹出的data是什么数据类型啊,不能说后台返回数据你就直接作为一个数组的下标,如果是一个对象呢?希望你能好好把返回的data好好看下.希望对你有所帮助!
追问
data是数字0或者1,后台按概率返回。弹出的也是0或者1啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-14
展开全部
$("#oknum").val(alldataarr[parseInt(data)]);转换整型
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询