ajax请求后台阻塞问题

写了两个AJAX函数,第一个用于导入数据,同时将进度信息写到全局变量中,第二个每隔一秒种获取全局变量的进度信息

但是为何第二个ajax一定要等到第一个结束时才会去执行?

  1. 设置过jquery AJAX的async 为te,即异步执行

  2. 第二个ajax(获取进度信息的), 就算我随便返回个值(非session)里面的都不会去调用后台方法, 直到第1个执行完成才会进来。 也不是session的问题。。。

那么真的很奇怪啊, 大神速来~~~

解决了,需要配置访问的servlet和访问servlet过程中使用到的filter为异步,再调用request.startAsync()开启异步

应该跟 js 的异步任务执行的机制有关,异步任务会在队列中等待,不会并行执行的,需等待主线程空闲后才去执行。
多个异步任务,本质上也是顺次执行的。

一种方法是使用Worker单独轮询,另一种是使用隐藏iframe上传文件,再在页面js中ajax轮询