其实这个问题不应该被晒出来,可是为了让大家知道我是多么的粗心,并且提醒一下新接触ajax的同志,还是拿出来作为一个反面典型
大家比较一下这两段代码的区别:
错误
Code
1 function createXMLHttp()
2 {
3 if(window.ActiveXObject)
4 {
5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
6 }
7 else if(window.XMLHttpRequst)
8 xmlhttp=new XMLHttpRequest();
9
10
11 }
12
正确
Code
1 function createXMLHttp()
2 {
3 if(window.ActiveXObject)
4
5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
6
7 else if(window.XMLHttpRequest)
8
9 xmlhttp=new XMLHttpRequest();
10
11
12 }
13
本来上面的方法是支持跨浏览器的,但是执行后在IE7里没问题,在FF下就是不行,最后没办法,我就拿以前的例子(以前的跨浏览器没问题),跟错误的那个方法逐行比较,终于在 else里发现了不同,原来是我在书写xmlhttprequest时写成了xmlhttprequst了 。由此发现在FF里是通过实例化xmlhttprequest对象来创建xmlhttprequest的
这该死的粗心