Javascript 如何知道请求何时启动?

Javascript 如何知道请求何时启动?,javascript,xmlhttprequest,Javascript,Xmlhttprequest,诸如Chrome之类的浏览器只能执行 如果我们试图同时发起6个以上的请求 for (var i = 0; i < 11; 1++) { var oReq = new XMLHttpRequest(); oReq.open('GET', URL); oReq.send(); } for(变量i=0;i

诸如Chrome之类的浏览器只能执行

如果我们试图同时发起6个以上的请求

for (var i = 0; i < 11; 1++) {
  var oReq = new XMLHttpRequest();
  oReq.open('GET', URL);
  oReq.send();
}
for(变量i=0;i<11;1++){
var oReq=新的XMLHttpRequest();
open('GET',URL);
oReq.send();
}
然后浏览器将对它们进行排队,并以6个为一批执行它们

是否可以判断请求何时从“等待”状态变为实际执行状态?

onloadstart
事件似乎是在请求被添加到队列时触发的,而不是在请求实际开始加载时触发的。

您是否查看了该事件?也许它能解决你的问题

XMLHttpRequest对象属性

readyState:

保存XMLHttpRequest的状态。从0更改为4:

0:请求未初始化

1:已建立服务器连接

2:收到请求

3:处理请求

4:请求已完成,响应已准备就绪

因此,使用这些信息,您可以执行以下操作:

for (var i = 0; i < 11; 1++) {
  var oReq = new XMLHttpRequest();
  oReq.open('GET', URL);
  oReq.send();

  oReq.onreadystatechange = function(){
    if (oReq.readyState == 4 && oReq.status == 200) {   
      //do something like an alert
      //you can get rid of the oReq.status if you want and 
      //just track the readyState (0-4)
    };
  };
}
for(变量i=0;i<11;1++){
var oReq=新的XMLHttpRequest();
open('GET',URL);
oReq.send();
oReq.onreadystatechange=函数(){
如果(oReq.readyState==4&&oReq.status==200){
//做一些类似警报的事情
//如果你愿意,你可以摆脱oReq.status
//只需跟踪readyState(0-4)
};
};
}