我是比较喜欢做复用脚本的人,比如同一页面上的2组下拉联动我就不愿意写2组代码,因为没那必要!
但是昨天遇到的问题着实让我郁闷了一天。在昨天之前自己整理了一段代码(没什么特别搜索,仅仅是常规性的建立XMLHTTP对象,添加删除Options而已)。在一页只有一组下拉列表的时候它显得游刃有余,但是在一页存在多组下拉列表的时候就不那么理想了浏览器总是执行最后一次提交的结果。这是为什么呢??于是我在脚本中加入alert(XMLHTTP.readyState)来观察XMLHTTP的运行状况,结果弹出的信息依次为 11234。这下明白了,如果情况正常应该是1234、1234才对,出现11234只有一个解释那就是在第一次请求结果才刚开始的时候紧接着就被提交了第二次请求,这就能解释为什么浏览器的出的结果总是最后一次的!
那该怎么办?设置请求之间延时?还是为不同的请求创建不同的XMLHTTP对象?我想后者应该比较让人满意。于是我尝试着制作一个XMHTTP的对象池,这样就不用创建N个对象了。但我是个JavaScript白痴,搞了半天也没写出什么名堂来,问题一大堆,最后通过网络搜索发现最后通过网络搜索发现
legendsky的大作。看过他写的代码之后才知道什么叫高手! 这里附上链接:
建一个XMLHttpRequest对象池 OK!关键问题解决其他地方就好办了,我几乎没怎么修改代码,仅仅是把创建XMLHTTP对象部分按照
legendsky写的XMLHTTPRequest对象池照抄了一遍问题就解决了!!!十分感谢legendsky。