ajax同步传输浏览器声音慢,ajax同步传输,浏览器响应慢,求解决

博客探讨了在JavaScript中,同步与异步Ajax请求的区别,指出同步请求可能导致浏览器假死,而异步请求虽然解决了这个问题,但需要管理多个请求的完成状态。文章通过示例代码展示了如何使用异步请求并跟踪所有请求完成,以便在所有数据获取后执行回调函数,进行数据整合。
摘要由CSDN通过智能技术生成

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

zq252919011

2017.04.26

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:51%    等级:11

已帮助:5095人

异步的话第一个ajax都没返回就已经执行你的log函数了,获取不到数据。同步的话网速慢浏览器会假死或者没有反应,因为要等待ajax请求完毕,网速慢你请求很多并且服务器处理速度慢基本要假死很久一段时间

改为异步,并且用一个状态记录住所有请求完毕后再执行log操作 function doAjax(arr1,callback) { doAjax.total = arr1.length;//记录总ajax请求数量,下面成功或者失败都-1,位0时再执行回调 var list_all = [],k=0;/// for (var i = 0; i < arr1.length; i++) { $.ajax({ method: 'GET', async: true,dataType:'json', // url: '/mainrver/ajax?key=' + arr1[i], url: 'data.txt' }).success(function (data) { _api_1 = data.data; for (var j = 0; j < _api_1.list.length; j++) { list_all[k] = _api_1.list[j]; k++; } doAjax.total--; if (doAjax.total == 0) callback(list_all); }).error(function () { doAjax.total--; if (doAjax.total == 0) callback(list_all); spinner.hintMsg(common.MESSAGE.network_err); }); } } doAjax([1, 2, 3], function (list_all) { console.log(list_all); console.log(list_all.length); });

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值