位置:海鸟网 > IT > JavaScript >

完全了解AJAX

尽管AJAX是个相对新生的术语,但其背后的技术却并不新颖。随着XMLHttpRequest对象在大多数浏览器中的实现,以及GMail和Google Maps的出现激发了软件开发者重新考虑如何构建网页的灵感。我们从基础开始认识AJAX,一种颠覆性的技术,其改变了Web应用程序的开发和应用方式,使得交互性页面和网站处于目前网络潮流的最前沿。

当请求被发送到浏览器后,其所具有的改变网页内容的功能已经存在许多年了-使用javascript脚本改变iframe's src属性是技术之一。

XMLHttpRequest对象

XMLHttpRequest对象使AJAX的出现成为可能,它产生异步请求,并决定如何处理结果。在大多数浏览器中,我们使用如下代码来创建对象:

var xmlhttp = false;

try {

xmlhttp = new XMLHttpRequest();

} catch (e) {

alert("cannot create object");

}

不幸的是,上文中所提到的“大多数浏览器”并不包括IE,因此对于微软的浏览器,我们需要采用一种特殊的方法创建对象。值得注意的是,根据MSXML解析器的不同版本,需要分别编写两种代码。

var xmlhttp = false;

try {

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (othermicrosoft) {

try {

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (failed) {

xmlhttp = false;

}

因此,结合上述两个代码片段,我们得到了以下适合所有主流浏览器创建XMLHttpRequest对象的代码:

var xmlhttp = false;

try {

xmlhttp = new XMLHttpRequest();

} catch (trymicrosoft) {

try {

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (othermicrosoft) {

try {

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (failed) {

xmlhttp = false;

}

}

}