Dzwebs.Net

撰写电脑技术杂文十余年

在JS循环中的jquery ajax异步请求只会输出i的最后一个值的解决办法

Admin | 2024-2-17 11:42:23 | 被阅次数 | 615

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

     jquery ajax可以使用异步方法,如果在循环中,那么,在success或error中输出循环变量i,那么,每次都只会输出最后一个i,该问题如何解决呢?

    一、问题所在

for (var index = 0; index < 4; index++) {
    $.ajax({
        url: 'http://www.dzwebs.net',
        dataType: 'json',
        success: function(e) {
            console.log(index);
        }
    });
}

  上面的代码,输出的一直都是3,而我们想要的是0  1  2  3

   二、如何解决该问题呢?

for (var index = 0; index < 4; index++) {
    (function(currentvalue){$.ajax({
        url: 'http://graph.facebook.com/',
        dataType: 'jsonp',
        success: function(e) {
            console.log(currentvalue);
        }
    });
    })(index);
}

  注意,上面的currentvalue代表形参,index叫实参,当然了,e是成功回调的参数。


该杂文来自: 网页制作杂文

上一篇:jquery读取服务器json文件,中文显示乱码

下一篇:暂时没有文章了

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计