单个XMLHTTPRequest对象可以发出多个请求

问题描述 投票:2回答:3

有没有人知道是否有办法使用单个XMLHTTPRequest对象发送多个异步请求。我可以使用单个请求执行此操作,并从我的onreadystatechange()处理程序获取响应。

我想知道是否有办法使用同一个对象发送多个并行请求,但我没有看到任何方法来匹配来自onreadystatechange()函数的请求的响应。

c++ internet-explorer-7 msxml
3个回答
10
投票

简答:你做不到。

你真的需要问自己的问题是为什么你想要多个XMLHTTPRequest对象?实例化十几个对象几乎没有什么缺点。


1
投票

给Martijn的答案+1,但我想补充一点,你所缺少的启示是一个Request定义为一次性对象。


0
投票

您可以在第一个请求完成后重新发出对象以发出第二个请求,并将onreadystatechange更改为其他函数。

不平行,但非常快。

需要注意的是,即使在IE7和IE8中实现的原生XMLHTTP中,IE也无法重用XMLHTTPRequest对象。

对于并行请求,创建多个XMLHTTPRequest对象,并在它们之间分配您的调用。

另外需要注意的是,在并行创建多个对象时,浏览器可能会限制并发XMLHTTPRequest对象的使用。通常会以非常糟糕的方式丢失请求或透明地拒绝发送请求,因此您需要仔细测试。

最安全的做法是创建一个请求,使用它,然后处理它并创建一个新请求。一次一个。

© www.soinside.com 2019 - 2024. All rights reserved.