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

时间:2009-04-01 21:41:07

标签: c++ internet-explorer-7 msxml

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

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

3 个答案:

答案 0 :(得分:10)

简短的回答:你不能。

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

不平行,但很快。

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

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

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

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