Ajax的并发调用

首先我要先小小的鄙视一下自己。写了这么久js,也做了不少Ajax相关的工作了,今天才知道XmlHttpRequest对象是支持并发的!

这个错误最早是在2003年刚接触XmlHttpRequest时,听一个同事说的,因为那个弟兄是js方面的专家(确实是专家,写过很受欢迎的技术书籍,目前在一个很大的公司做架构师。但人都是有盲点的嘛!),后来我也就没有再想过。唉,今天写看一段程序时突然发现了这个问题。

经过测试,在prototype.js和ASP.NET 2.0 Ajax1.0中默认都是支持的(其他的我没有测试),在ASP.NET 2.0 自带的Callback中也是支持的,但我以前写的一篇文章:ASP.NET 2.0 正式版中无刷新页面的开发中,举的例子是不支持的。把那篇文章中第二步里面提到的:

  
    
<%= ClientScript.GetCallbackEventReference( this , " arg " , " ReceiveServerData " , " context " ) %> ;

添加一个参数“true”,替换成:

  
    
<%= ClientScript.GetCallbackEventReference( this , " arg " , " ReceiveServerData " , " context " , true ) %> ;

就可以了。

虽然XmlHttpRequest是支持并发的,但并发的个数却是有限的,超过并发的提交操作会排队等待前面的结束后再提交。因为没有时间测试,具体的个数还不知道,在不同浏览器上的表现也不太清楚,那个弟兄知道了一定要告诉我呀,谢谢!

你可能感兴趣的:(Ajax)