写ajax发现一个新问题

function checkscore() {
            var array1 = new Array();
            var array2 = new Array();
            var score = 100;
            var n = 0;
            var answers = $("input:checked");
            for (var i = 0; i < answers.length; i++) {
                array1[i] = (answers.eq(i).next("span").text()).split(".")[1];
            }
            console.log(array1);
            $.ajax({
                type: "GET",
                url: "../php/test.php",
                datatype: "JSON",
                data: {
                    pointID: 1
                }
            }).done(function (data) {
                var data = jQuery.parseJSON(data);
                if (data.status != 200) {
                    alert('wrong!');
                    return;
                } else {
                    data = data.data;
                    var ca = JSON.parse(data[0].testJSON);
                    for (var i = 0; i < ca.length; i++) {
                        array2[i] = ca[i].right;
                        n++;
                    }
                    console.log(array2);
                    console.log(n);
                    for (var i = 0; i < n; i++) {
                        if (array1[i] != array2[i]) {
                            score = score - (100/n);
                        }
                    }
                    score = Math.round(score);
                    console.log(score);
                    alert('您的分数为:'+score+"分");
                }
            });
        }
不知道为什么<pre name="code" class="javascript"> console.log(array2);
 console.log(n);
<span style="font-family: Arial, Helvetica, sans-serif;">这两行必须写在done函数里面,写在外面的话就什么都没有,我done函数里面应该给局部变量array2和n都已经赋值了才对,在done函数之外两个变量赋的值就没了</span>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<span style="font-family:Arial, Helvetica, sans-serif;">已解决:ajax要慢于网页的加载速度,当ajax未执行完毕时,array2和n都是没有被赋值的,读取网页时先输出了array2和n自然就没有值了</span>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值