AJAX入门XMLHttpRequest慨述

2016-02-19 18:25 6 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的AJAX入门XMLHttpRequest慨述懂设计的网友们快点来了解吧!

【 tulaoshi.com - Web开发 】

  由于javascript具有动态类型特性,而且XMLHttpRequest在不同浏览器上的实现是兼容的,所以可以用同样的方式访问XMLHttpRequest实例的属性和方法,而不论这个实例创建的方法是什么。这就大大简化了开发过程,而且在javascript中也不必编写特定于浏览器的逻辑。

--------------------------------------------------------------------------------
  在使用XMLHttpRequest对象发送请求和处理响应之前,必须先用javascript创建一个XMLHttpRequest对象。由于XMLHttpRequest不是一个W3C标准,所以可以采用多种方法使用javascript来创建XMLHttpRequest的实例。Internet Explorer把XMLHttpRequest实现为一个ActiveX对象,其他浏览器(如Firefox、Safari和Opera)把它实现为一个本地javascript对象。由于存在这些差别,javascript代码中必须包含有关的逻辑,从而使用ActiveX技术或者使用本地javascript对象技术来创建XMLHttpRequest的一个实例。

  很多人可能还记得从前的那段日子,那时不同浏览器上的javascript和DOM实现简直千差万别,听了上面这段话之后,这些人可能又会不寒而栗。幸运的是,在这里为了明确该如何创建XMLHttpRequest对象的实例,并不需要那么详细地编写代码来区别浏览器类型。你要做的只是检查浏览器是否提供对ActiveX对象的支持。如果浏览器支持ActiveX对象,就可以使用ActiveX来创建XMLHttpRequest对象。否则,就要使用本地javascript对象技术来创建。代码清单2-1展示了编写跨浏览器的javascript代码来创建XMLHttpRequest对象实例是多么简单。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  代码清单2-1 创建XMLHttpRequest对象的一个实例

var xmlHttp;

function createXMLHttpRequest() {
  if (window.ActiveXObject) {
   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else if (window.XMLHttpRequest) {
   xmlHttp = new XMLHttpRequest();
  }
}

  可以看到,创建XMLHttpRequest对象相当容易。首先,要创建一个全局作用域变量xmlHttp来保存这个对象的引用。createXMLHttpRequest方法完成创建XMLHttpRequest实例的具体工作。这个方法中只有简单的分支逻辑(选择逻辑)来确定如何创建对象。对window.ActiveXObject的调用会返回一个对象,也可能返回null,if语句会把调用返回的结果看作是true或false(如果返回对象则为true,返回null则为false),以此指示浏览器是否支持ActiveX控件,相应地得知浏览器是不是Internet Explorer。如果确实是,则通过实例化ActiveXObject的一个新实例来创建XMLHttpRequest对象,并传入一个串指示要创建何种类型的ActiveX对象。在这个例子中,为构造函数提供的字符串是Microsoft.XMLHTTP,这说明你想创建XMLHttpRequest的一个实例。

  如果window.ActiveXObject调用失败(返回null),javascript就会转到else语句分支,确定浏览器是否把XMLHttpRequest实现为一个本地javascript对象。如果存在window.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  XMLHttpRequest,就会创建XMLHttpRequest的一个实例。

  由于javascript具有动态类型特性,而且XMLHttpRequest在不同浏览器上的实现是兼容的,所以可以用同样的方式访问XMLHttpRequest实例的属性和方法,而不论这个实例创建的方法是什么。这就大大简化了开发过程,而且在javascript中也不必编写特定于浏览器的逻辑。

来源:http://www.tulaoshi.com/n/20160219/1617614.html

延伸阅读
标签: Web开发
显然AJax就是利用JavaScript脚本访问数据的一种技术。 AJAX 使网页实现异步更新。这就是在不重新加载整个网页的情况下,对网页进行局部更新。 XMLHttpRequest 是 AJAX 的关键 现在浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。 向后台请求数据readyState有五个状态0:服务器未初始化,1:服务器连接已建立,2请求...
标签: Web开发
AJAX - 更多有关 XMLHttpRequest 对象的知识 在向服务器发送数据之前,我们有必要解释一下 XMLHttpRequest 对象的三个重要的属性。 onreadystatechange 属性 onreadystatechange 属性存有处理服务器响应的函数。下面的代码定义一个空的函数,可同时对 onreadystatechange 属性进行设置: xmlHttp.onreadystatechange=function() { // 我...
标签: Web开发
即使你现在还没有听说,AJAX已经成为web技术领域最热门的词(就象Adaptive Path上的一篇文章提到的一样)。AJAX框架的关键是名为XMLHttpRequest的JavaScript对象,通过它客户端开发人员可以在不打断用户操作或者在充分使用隐藏表单的情况下通过HTTP直接发送和接收XML文档。现在,有些人可能会有这种忧虑,让那些以前只做表单(form)校验和增...
标签: Web开发
现在很多公司都在做标准的静态页面,为了增强客户的体验效果,经常会涉及到AJax效果,而设计AJax使用的一种重要技术(工具)就是XMLHttpRequest对象了。今天学习了点关于XMLHttpRequest对象的一些方法和属性,有点体会,在这里也想记录起来。 1、何为XMLHttpRequest 定义:XMLHttp是一套可以在Javascript、VbScript、Jscript等脚本语言...
标签: Web开发
一、 引言 在XMLHttpRequest对象和AJAX给用户和开发者带给巨大好处的同时,也许还有一些问题你没有考虑到-但是的确到了值得引起每个人注意的时候了。 甚至非常讨厌的人也都喜欢XMLHttpRequest,因为它提供给程序员真正梦想的功能。也正是因为有了这样的新技术,Web应用软件开始变得具有象桌面应用软件相似的行为。如今,问题总是象"假定为……...

经验教程

945

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部