Ajax学习笔记(二)——Ajax引擎实现

在研究了一些例程以后,我发现Ajax引擎的实现不是一成不变的,是根据应用程序的需求来编写的, 其中最重要的部分是对异步模式的实现,回顾一下前面的学习就可以了解到,这部分主要是通过调用XMLHttpRequest对象来实现的。

XMLHttpRequest对象是什么?

XMLHttpRequest对象被各种平台的浏览器广泛的支持,它提供了一种通过客户端脚本发送Http请求并获取返回的方式。在不同的浏览器中,XMLHttpRequest对象有不同的名字,调用方式也不一样。
对于IE来说,可以使用下面的代码以适应不同的IE版本:

var xmlHttp = false;
try {
    xmlHttp = new ActiveXObject ( "Msxml2.XMLHTTP" ); //3.0,4.0,5.0
} catch (e ) {
    try {
        xmlHttp = new ActiveXObject ( "Microsoft.XMLHTTP" );
    } catch (e2 ) {
        xmlHttp = false;
    }
}
 

如果要兼顾大部分的浏览器,可以使用这样的代码建立XMLHttpRequest对象:

var xmlhttp= false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP" );
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP" );
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/

if (!xmlhttp && typeof XMLHttpRequest!= 'undefined' ) {
        try {
                xmlhttp = new XMLHttpRequest ( );
        } catch (e ) {
                xmlhttp= false;
        }
}
if (!xmlhttp && window. createRequest ) {
        try {
                xmlhttp = window. createRequest ( );
        } catch (e ) {
                xmlhttp= false;
        }
}
 

你可能感兴趣的:(Ajax)