有没有人知道是否有办法使用单个XMLHTTPRequest对象发送多个异步请求。我可以使用单个请求执行此操作,并从我的onreadystatechange()处理程序获取响应。
我想知道是否有办法使用同一个对象发送多个并行请求,但我没有看到任何方法来匹配来自onreadystatechange()函数的请求的响应。
答案 0 :(得分:10)
简短的回答:你不能。
问题你真的需要问自己,为什么你想要多个XMLHTTPRequest对象?实例化十几个对象几乎没有什么缺点。
答案 1 :(得分:1)
+1给Martijn的答案,但我想补充一点,你所缺少的启示是一个请求按照定义一次性对象。
答案 2 :(得分:0)
您可以在第一个请求完成后重复发出第二个请求,并将onreadystatechange更改为其他函数。
不平行,但很快。
请注意,即使在IE7和IE8中实现的原生XMLHTTP中,IE也无法重用XMLHTTPRequest对象。
对于并行请求,创建多个XMLHTTPRequest对象,并在它们之间分配您的调用。
另外需要注意的是,在并行创建多个对象时,浏览器可能会限制并发XMLHTTPRequest对象的使用。通常会以非常糟糕的方式丢失请求或透明地拒绝发送请求,因此您需要仔细测试。
最安全的做法是创建一个请求,使用它,然后处理它并创建一个新请求。一次一个。