您的位置:知识库 » .NET技术

掌握 Ajax(一): Ajax 入门简介

作者: Brett McLaughlin  来源: IBM开发中心  发布时间: 2009-03-30 10:58  阅读: 11338 次  推荐: 1   原文链接   [收藏]  
摘要:本文通过详细对Ajax的工作原理进行了详细的介绍。
[1] 掌握 Ajax(一): Ajax 入门简介
[2] 掌握 Ajax(一): Ajax 入门简介
[3] 掌握 Ajax(一): Ajax 入门简介
[4] 掌握 Ajax(一): Ajax 入门简介
[5] 掌握 Ajax(一): Ajax 入门简介
[6] 掌握 Ajax(一): Ajax 入门简介
[7] 掌握 Ajax(一): Ajax 入门简介


  获取 Request 对象

 

  有了上面的基础知识后,我们来看看一些具体的例子。XMLHttpRequest 是 Ajax 应用程序的核心,而且对很多读者来说可能还比较陌生,我们就从这里开始吧。从 清单 1 可以看出,创建和使用这个对象非常简单,不是吗?等一等。

  还记得几年前的那些讨厌的浏览器战争吗?没有一样东西在不同的浏览器上得到同样的结果。不管您是否相信,这些战争仍然在继续,虽然规模较小。但令人奇怪的是,XMLHttpRequest 成了这场战争的牺牲品之一。因此获得 XMLHttpRequest 对象可能需要采用不同的方法。下面我将详细地进行解释。

  使用 Microsoft 浏览器

  Microsoft 浏览器 Internet Explorer 使用 MSXML 解析器处理 XML(可以通过 参考资料 进一步了解 MSXML)。因此如果编写的 Ajax 应用程序要和 Internet Explorer 打交道,那么必须用一种特殊的方式创建对象。

  但并不是这么简单。根据 Internet Explorer 中安装的 JavaScript 技术版本不同,MSXML 实际上有两种不同的版本,因此必须对这两种情况分别编写代码。请参阅 清单 3,其中的代码在 Microsoft 浏览器上创建了一个 XMLHttpRequest。

清单 3. 在 Microsoft 浏览器上创建 XMLHttpRequest 对象

 

Code
var xmlHttp = false;
try {
xmlHttp
= new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp
= new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp
= false;
}
}


  您对这些代码可能还不完全理解,但没有关系。当本系列文章结束的时候,您将对 JavaScript 编程、错误处理、条件编译等有更深的了解。现在只要牢牢记住其中的两行代码:

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

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");。

  这两行代码基本上就是尝试使用一个版本的 MSXML 创建对象,如果失败则使用另一个版本创建该对象。不错吧?如果都不成功,则将 xmlHttp 变量设为 false,告诉您的代码出现了问题。如果出现这种情况,可能是因为安装了非 Microsoft 浏览器,需要使用不同的代码。

 

  处理 Mozilla 和非 Microsoft 浏览器

  如果选择的浏览器不是 Internet Explorer,或者为非 Microsoft 浏览器编写代码,就需要使用不同的代码。事实上就是 清单 1 所示的一行简单代码:

  var xmlHttp = new XMLHttpRequest object;。

  这行简单得多的代码在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中,创建了 XMLHttpRequest 对象。

1
0
标签:AJAX

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻