AJAX入门---五步使用XMLHttpRequest对象

         XMLHttpRequest简介:

         XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页。当页面全部加载完毕后,客户端通过该对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据。XMLHttpRequest 对象提供了对
HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步返回 Web 服务器的响应,并且能以文本或者一个 DOM 文档形式返回内容。尽管名为 XMLHttpRequest,它并不限于和 XML 文档一起使用:它可以接收任何形式的文本文档

         五步使用XMLHttpRequest对象

         1.  建立XMLHttpRequest对象如下:

         (不同浏览器中XMLHttpRequest对象建立的方式不同:IE7以上,FireFox,Safari,Opera等中直接newXMLHttpRequest();IE6,IE5.5等则需要通过用一个正确的ActiveXObject控件名称通过new ActiveXObject(控件名)的方式)

if (window.XMLHttpRequest) {
    xmlhttp=new XMLHttpRequest();
    if (xmlhttp.overrideMimeType) {
        xmlhttp.overrideMimeType("text/xml");
    }
}else if (window.ActiveXObject) {
    var activexName=["MSXML.2.XMLHTTP.6.0","MSXML.2.XMLHTTP.5.0",
                    "MSXML.2.XMLHTTP.4.0","MSXML.2.XMLHTTP.3.0",
                    "MSXML.2.XMLHTTP","Miscrosoft.XMLHTTP"];
    for (var i = 0; i <activexName.length; i++) {
        try {
            xmlhttp=new ActiveXObject(activexName[i]);
        } catch (e) {

        }
    }
}

         2.  注册回调函数

         (设置回调函数是,不要在函数名后面加括号。加括号表示将回调函数的返回值注册给onreadystatechange属性)

xmlhttp.onreadystatechange=callback; 

         3.  使用open方法设置服务器端交互的基本信息

         (open方法最多有五个参数局,其中头三个参数是必须的)

//使用GET方式时,请求数据位于url链接中,后面的send方法的参数直接写null
xmlhttp.open("GET","Ajax?name="+ userName,true );     

//使用POST方式时,open方法后面需要先调用setRequestHeader方法,来设置Content-Type的值,然后调用send方法,send的参数就是请求的数据
xmlhttp.open("POST","Ajax", true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

         4.  设置发送的数据,开始和服务器端交互

//GET方式
xmlhttp.send(null);

//POST方式
xmlhttp.send("name=" + userName);

         5.  在回调函数中判断交互是否结束,响应是否正确,并根据需要获取服务器端返回的数据,更新页面的内容

         (回调函数中,最好将判断readyState和status的两个if条件,分开来写)

function callback(){
    //5.判断和服务器端的交互是否完成,还要判断服务器端是否正确返回了数据
    if (xmlhttp.readyState == 4) {
        //表示和服务器端的交互已经完成
        if (xmlhttp.status==200) {
            //表示和服务器的响应代码是200,正确的返回了数据
            //纯文本数据的接受方法
            var message =xmlhttp.responseText;
            //Xml数据对应的Dom对象的接受方法
            //使用的前提是,服务器端需要设置content-type为text/xml
            //var domXml=xmlhttp.responseXML;

            //向div标签中填充文本内容的方法
            var div=document.getElementById("message");
            div.innerHTML=message;
        }
    }
}

         总结:

         当然通过这个小小的例子,我们只能说是经历了一个从不知道到知道的过程,初步了解了一下XMLHttpRequest对象的用法,更加深刻的理解还需要我们更加深入的学习和在实践中加以利用。

文中demo源码免费下载链接:http://download.csdn.net/detail/senior_lee/7707257

时间: 2024-08-30 11:32:37

AJAX入门---五步使用XMLHttpRequest对象的相关文章

jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML_jquery

摘要:本节补充ajax学习笔记1中 第二种方式:使用XMLHttpRequest对象的responseXML的方式来接受XML数据对象的DOM对象 在ajax学习笔记1中已经对准备工作和需要用到的知识做了比较详细的介绍,本节主要介绍需要修改的代码以及新增的代码 .新增一个servlet类 AJAXXMLServer.java 复制代码 代码如下: import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServle

Ajax实战:XMLDocument和XMLHttpRequest对象

正如刚才看到的,我们可以使用IFrame以后台方式请求数据,但是这从本质上来说不过是一种hack式的临时解决方案.最初引入IFrame的设计意图是在页面上显示可见的内容,这种用法歪曲了这个意图.在流行的Web浏览器的更新版本中,引入了专门为异步数据传输而设计的对象,我们将会看到,它比IFrame用起来要方便得多. XmlDocument和XMLHttpResuest对象并不是Web浏览器中DOM的标准扩展,它们只是碰巧得到了多数浏览器的支持.它们的设计目标很明确,就是用来以后台方式获取数据,这使

AJAX在不同浏览器中XMLHttpRequest对象的生成示例

本文为大家介绍下AJAX在不同浏览器中XMLHttpRequest对象是怎样生成的,以方便我们针对不同浏览器进行测试,感兴趣的朋友可以参考下,希望对大家有所帮助   复制代码 代码如下: <script type="text/javascript"> function ajax() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { /

AJAX在不同浏览器中XMLHttpRequest对象的生成示例_AJAX相关

复制代码 代码如下: <script type="text/javascript"> function ajax() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }

AJAX入门--- XMLHttpRequest对象的属性和方法

         由于刚刚接触到Ajax对其比较陌生,而其中的XMLHttpRequest对象更是未曾听闻.开始学之前,了解一下它的属性和方法为它的使用做下铺垫.本文重点介绍XMLHttpRequest的属性和方法.          XMLHttpRequest对象的属性和事件 属性 描述 readyState 表示XMLHttpRequest对象的状态[1] responseText 包含客户端接收到的HTTP相应的文本内容[2] responseXML 服务器响应的XML内容对应的DOM对

AJAX入门---点滴的积累

AJAX入门---点滴的积累                    每次学习完一个内容总会写上几句话总结一下学习的内容.这不刚看完王兴魁老师讲的AJAX核心技术,现在回顾梳理一下.这套视频的内容不多,简单的讲解了XMLHttpRequest技术,DOM及其操作HTML.XML,一些Javascript的知识,再通过两个综合性的例子收尾.          XMLHttpRequest对象            关于该对象的具体含义,如何使用可以看看我之前写的博客--<AJAX入门--- XMLH

AJAX核心对象-- XMLHttpRequest 对象使用详解 (一)

ajax|request|xml|xmlhttprequest|对象|详解 多数 Web 应用程序都使用请求/响应模型从服务器上获得完整的HTML 页面.常常是点击一个按钮,等待服务器响应,再点击另一个按钮,然后再等待,这样一个反复的过程.有了 Ajax 和 XMLHttpRequest 对象,就可以使用不必让用户等待服务器响应的请求/响应模型了. 本文中,Brett McLaughlin 介绍了如何创建能够适应不同浏览器的 XMLHttpRequest 实例,建立和发送请求,并响应服务器. 本

AJAX XMLHttpRequest 对象使用详解 (一)

事实上,有时您会发现,要正确地使用 XMLHttpRequest,显然不能 使用 XMLHttpRequest.这到底是怎么回事呢? Web 2.0 一瞥 在深入研究代码之前首先看看最近的观点 -- 一定要十分清楚 Web 2.0 这个概念.听到 Web 2.0 这个词的时候,应该首先问一问 "Web 1.0 是什么?" 虽然很少听人提到 Web 1.0,实际上它指的就是具有完全不同的请求和响应模型的传统 Web.比如,到 Amazon.com 网站上点击一个按钮或者输入搜索项.就会对

AJAX XMLHttpRequest对象详解

XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础.尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用:但是,我们仍然很有必要理解这个对象的详细工作机制. 一.引言 异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程.这一技术的优点在于,它向开发者提供了一种从Web服务器检索数据而不必把用户当前正在观察的页面回馈给服务器.与现代浏览器的通过存取浏览器DOM