解决多并发的ajax请求

难题:多个ajax请求并存,可能只会执行一个ajax请求。

思路:养成好习惯,请求完一个ajax,就delete这个请求,再把它赋值为null;

难题:多个ajax请求造成页面堵塞。

多个AJAX请求之间会存在一定影响的情况。常见情况:

        1.多个AJAX返回的是同一个数据的不同部分。我们需要在前端把这些数据组合成一个完整的数据来运用。我们要知道这些数据的次序来够正确拼接。

        2.不同查询条件下的同一组数据。(我们可能需要的是最新的一组数据)。

        3.后面的AJAX要用到的前面AJAX的数据。

所以获得后台传递给我们数据的顺序十分必要。通常有以下几种方法:

        1.递归,在回调函数中执行下一个AJAX。问题是如果中间某一个AJAX没有正常返回,后面的AJAX就有不执行的风险。所以可能需要做一些特别的处理。
        2.同步AJAX。 不是很推荐。浏览器分分钟失去响应。严重影响用户体验。
        3.方法三.从回调函数上面想办法。可以用闭包来记录当前是第几组的AJAX请求,回调函数中读取。正常发起AJAX请求即可。
        4.前后台的协商。对于不需要保证返回顺序。只需要确定所返回结果是对应第几组数据的。  可以AJAX传递当前是第几组数据的标识。后台返回结果的时候再把这个标识返回过来。这样回调函数也能识别到拼装的次序。但是这种情况有限制,对于一些网络公共接口,它返回的数据不是我们能左右的。
        5.放数组里控制。

参考:https://www.v2ex.com/t/353038

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值