Ajax核心概念的神秘面纱(3)

城市框架

城市框架

2016-02-19 14:10

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐Ajax核心概念的神秘面纱(3),赶紧看过来吧!
网页制作Webjx文章简介:您可能已经准备开始编写第一个Ajax应用程序了,至少也希望认真读一下参考资料中的那些文章了吧?但可以首先从这些应用程序如何工作的基本概念开始,对XMLHttpRequest对象有基本的了解。在下一期文章中,您将掌握这个对象,学会如何处理JavaScript和服务器的通信
  
  以DOM结束
  
  最后还有DOM,即文档对象模型。可能对有些读者来说DOM有点儿令人生畏,HTML设计者很少使用它,即使JavaScript程序员也不大用到它,除非要完成某项高端编程任务。大量使用DOM的是复杂的Java和C/C++程序,这可能就是DOM被认为难以学习的原因。
  
  幸运的是,在JavaScript技术中使用DOM很容易,也非常直观。现在,按照常规也许应该说明如何使用DOM,或者至少要给出一些示例代码,但这样做也可能误导您。即使不理会DOM,仍然能深入地探讨Ajax,这也是我准备采用的方法。以后的文章将再次讨论DOM,现在只要知道可能需要DOM就可以了。当需要在JavaScript代码和服务器之间传递XML和改变HTML表单的时候,我们再深入研究DOM。没有它也能做一些有趣的工作,因此现在就把DOM放到一边吧。
  
  获取Request对象
  
  有了上面的基础知识后,我们来看看一些具体的例子。XMLHttpRequest是Ajax应用程序的核心,而且对很多读者来说可能还比较陌生,我们就从这里开始吧。从清单1可以看出,创建和使用这个对象非常简单,不是吗?等一等。
  
  还记得几年前的那些讨厌的浏览器战争吗?没有一样东西在不同的浏览器上得到同样的结果。不管您是否相信,这些战争仍然在继续,虽然规模较小。但令人奇怪的是,XMLHttpRequest成了这场战争的牺牲品之一。因此获得XMLHttpRequest对象可能需要采用不同的方法。下面我将详细地进行解释。
  
  使用Microsoft浏览器
  
  Microsoft浏览器InternetExplorer使用MSXML解析器处理XML(可以通过参考资料进一步了解MSXML)。因此如果编写的Ajax应用程序要和InternetExplorer打交道,那么必须用一种特殊的方式创建对象。
  
  但并不是这么简单。根据InternetExplorer中安装的JavaScript技术版本不同,MSXML实际上有两种不同的版本,因此必须对这两种情况分别编写代码。请参阅清单3,其中的代码在Microsoft浏览器上创建了一个XMLHttpRequest。
  
  清单3.在Microsoft浏览器上创建XMLHttpRequest对象
  
  varxmlHttp=false;try{xmlHttp=newActiveXObject("Msxml2.XMLHTTP");}catch(e){try{xmlHttp=newActiveXObject("Microsoft.XMLHTTP");}catch(e2){xmlHttp=false;}}
  
  您对这些代码可能还不完全理解,但没有关系。当本系列文章结束的时候,您将对JavaScript编程、错误处理、条件编译等有更深的了解。现在只要牢牢记住其中的两行代码:
  
  xmlHttp=newActiveXObject("Msxml2.XMLHTTP");
  
  和
  
  xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
  
  这两行代码基本上就是尝试使用一个版本的MSXML创建对象,如果失败则使用另一个版本创建该对象。不错吧?如果都不成功,则将xmlHttp变量设为false,告诉您的代码出现了问题。如果出现这种情况,可能是因为安装了非Microsoft浏览器,需要使用不同的代码。
  
  处理Mozilla和非Microsoft浏览器
  
  如果选择的浏览器不是InternetExplorer,或者为非Microsoft浏览器编写代码,就需要使用不同的代码。事实上就是清单1所示的一行简单代码:
  
  varxmlHttp=newXMLHttpRequestobject;
  
  这行简单得多的代码在Mozilla、Firefox、Safari、Opera以及基本上所有以任何形式或方式支持Ajax的非Microsoft浏览器中,创建了XMLHttpRequest对象。
  
展开更多 50%)
分享

猜你喜欢

Ajax核心概念的神秘面纱(3)

Web开发
Ajax核心概念的神秘面纱(3)

Ajax核心概念的神秘面纱(1)

Web开发
Ajax核心概念的神秘面纱(1)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Ajax核心概念的神秘面纱(6)

Web开发
Ajax核心概念的神秘面纱(6)

Ajax核心概念的神秘面纱(4)

Web开发
Ajax核心概念的神秘面纱(4)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Ajax核心概念的神秘面纱(2)

Web开发
Ajax核心概念的神秘面纱(2)

Ajax核心概念的神秘面纱(5)

Web开发
Ajax核心概念的神秘面纱(5)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

AJAX刷新更新数据

AJAX刷新更新数据

《Effective C#》:区别四个判等函数

《Effective C#》:区别四个判等函数
下拉加载更多内容 ↓