此处,用到的是prototype.js原型库的Request方法,它用于发起一个异步请求,参数中可以指定是get还是post方式,以及定制任意个QueryString参数,以及当请求被响应后(onComplete)——被回调执行的处理响应结果的方法。
使用prototype库的好处就在于它是兼容标准的,因此,在IE中测试通过后,我便想当然地以为在Firefox中应该也没有问题。但不久,测试人员反馈,在进行相应操作后,Firefox中并没有像IE一样,出现预期的结果值。
噩耗传来,禁不住地怀疑起了prototype.js,于是将Firebug ,在Firefox中抓起虫子来:
FireBug Console里显示,返回的xml结果串格式良好,方法也能被正常调用,错误定位在
忙不迭查阅资料,才得知,在W3C Dom中,Xml的Element元素是没有selectSingleNode方法的,并且,Node节点也没有text属性(仅IE支持),相对应的属性是textContent。
找到问题所在,就能对症下药,延续一下prototype的风格,对原型进行扩展,修改一下prototype.js,加入这些代码,原来的脚本无需修改,Firefox也能正常获取运行结果了: