AJax技术

AJAX(学习笔记1)

字号+ 作者:H5之家 来源:H5之家 2016-01-24 08:00 我要评论( )

AJAX(学习笔记一) 1:什么是AJAX? AJAX是一组英文单词的简写,这组英文单词是 :Asynchronous JavaScript and XML ,翻译成中文的意思是: 异步的JavaScript

        XMLHttpRequest 对象

XMLHttpRequest 是一个 JavaScript 对象,它最初由微软设计,随后被 Mozilla,Apple, 和 Google采纳. 如今,该对象已经被 W3C组织标准化. 通过它,你可以很容易的取回一个URL上的资源数据. 尽管名字里有XML, 但XMLHttpRequest 可以取回所有类型的数据资源,并不局限于XML。

XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。而且除了HTTP ,它还支持file 和 ftp 协议.

XMLHttpRequest 对象是名为 AJAX 的 Web 应用程序架构的一项关键功能。

       浏览器支持

XMLHttpRequest 得到了所有现代浏览器较好的支持。唯一的浏览器依赖性涉及 XMLHttpRequest 对象的创建。在 IE 5 和 IE 6 中,必须使用特定于 IE 的 ActiveXObject() 构造函数。

 

嗯,通过上面的介绍我们对XMLHttpRequest对象的认识就更加全面和专业一些了,不过我们还没有介绍怎么样使用它,所以,下面两小部分的内容分别介绍一下有关XMLHttpRequest对象的小代码段和常使用的属性与方法的更加详细的说明。

   6)XMLHTTPRequest对象的简单代码段

function ajaxMethod() { xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } //2:监听XMLHttpRequest对象的状态信息。每当 readyState 改变时,就会触发 onreadystatechange 事件(readyState 属性存有 XMLHttpRequest 的状态信息) xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { //DO SOMETHING FOR THE SERVER RESPONSE } } //3:初始化HTTP请求的信息 xmlhttp.open("GET","URL",true); //4:将HTTP请求发送到服务器 xmlhttp.send(); }

上面的这段简单的代码是不可用的,不过稍做修改就可能成为一个可用的AJAX方法了,当然,我们重点想说明的是,简单的封装一个AJAX方法使用到了XMLHttpRequest对象的那些方法和属性。当然,如果想封装一个更加健全和可靠的AJAX方法就必须详细的了解XMLHttpRequest对象的一些常用的方法和属性更加详尽的使用方式了!下面就是我想介绍的这些内容。

 

   7)XMLHTTPRequest对象常用的属性和方法的详细说明

        (1)XMLHTTPReuest对象的常用属性详解

                     a:readyState

readyState属性用于存储XMLHttpRequest对象的状态信息,当一个 XMLHttpRequest对象初次创建时,这个属性的值从 0 开始,直到接收到完整的 HTTP 响应,这个值增加到 4。readyState 的值不会递减,除非当一个请求在处理过程中的时候调用了 abort() 或 open() 方法。每次这个属性的值增加的时候,都会触发 onreadystatechange 事件。

并且5 个状态中每一个都有一个相关联的非正式的名称,如下表所示:

 

 

 

 

 

                     b:status

由服务器返回的 当前请求的HTTP 状态代码,如 200 表示成功,而 404 表示 "Not Found" 错误。当 readyState 小于 3 的时候读取这一属性会导致一个异常,仅当数据发送并接收完毕后才可获取。下表是常见的HTTP的状态码及其说明:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                     c:statusText

statusText属性用名称而不是数字指定了请求的 HTTP 的状态代码。也就是说,当状态为 200 的时候它是 "OK",当状态为 404 的时候它是 "Not Found"。和 status 属性一样,当 readyState 小于 3 的时候读取这一属性会导致一个异常,也是仅当数据发送并接收完毕后才可获取。对应的名称参照上表。

                     d:responseText

responseText属性用于将来自服务器的响应信息作为字符串的形式返回。用它来存放到目前为止从服务器接收到的响应体(不包括头部),或者如果还没有接收到数据的话,就是空字符串。具体的存储时机如下:

如果 readyState 小于 3,这个属性就是一个空字符串。当 readyState 为 3,这个属性返回目前已经接收的响应部分。如果 readyState 为 4,这个属性就保存了完整的响应体。如果响应包含了为响应体指定字符编码的头部,就使用该编码。

                     e:responseXML

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JQuery实现Ajax加载图片的方法

    JQuery实现Ajax加载图片的方法

    2016-02-24 17:01

  • 判断用户是不是为ajax请求

    判断用户是不是为ajax请求

    2016-02-24 17:00

  • Ajax与WEB开发 by alixixi.com

    Ajax与WEB开发 by alixixi.com

    2016-02-11 11:02

  • jQuery.ajax()的相关参数及使用

    jQuery.ajax()的相关参数及使用

    2016-02-08 16:00

网友点评