首页 新闻 会员 周边

Ajax中回调函数引起值覆盖,急求解决方案

0
悬赏园豆:50 [已解决问题] 解决于 2010-08-06 12:55

    var num = $.cookie("Num");          //获得cookie中数量
    var arrnum = num.split(";");        //数量切割

 for (var i = 0; i < arrnum.length; i++) {    // 遍历

  var count = arrnum[i];               //同时取得对应数量
        alert(count);             //第一个
        $.ajax({
            type: "POST",
            dataType: "json",
            url: "ShopCart.aspx",
            data: "method=ShowCart&id=1",
            success: function(json) {

      alert(count);//第二个 
                 }

        }); 
    }

情况说明:第一个alert可以显示数组内所有的值,而第二个alert只显示最后的值,导致的问题是不能使用之前的数值。请各位大侠帮帮忙,尽快解决这一问题。

 

zhezi7的主页 zhezi7 | 初学一级 | 园豆:89
提问于:2010-08-06 11:46
< >
分享
最佳答案
0

ajax的async设为false

收获园豆:50
Gray Zhang | 专家六级 |园豆:17610 | 2010-08-06 12:48
怎么写?麻烦您详细说明一下
zhezi7 | 园豆:89 (初学一级) | 2010-08-06 12:52
知道啦,改为同步请求,谢谢啦
zhezi7 | 园豆:89 (初学一级) | 2010-08-06 12:55
其他回答(2)
0

第二个alert是如何获取的?

是否用到循环?

邀月 | 园豆:25475 (高人七级) | 2010-08-06 12:27
第二个alert里的count用的是从数组中取的count
支持(0) 反对(0) zhezi7 | 园豆:89 (初学一级) | 2010-08-06 12:31
0

如果没记错的话,AJAX异步是无法控制其执行顺序的。

你把AJAX放在循环体内,AJAX并不一定会按照循环顺序进行执行。

kyo-yo | 园豆:5587 (大侠五级) | 2010-08-06 12:36
那怎么办啊
支持(0) 反对(0) zhezi7 | 园豆:89 (初学一级) | 2010-08-06 12:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册