AJAX--XMLHttpRequest五步使用法

传统浏览方式和AJAX方式的不同

多数Web应用程序都使用请求/响应模型从服务器上获得完整的HTML页面。常常是点击一个按钮,等待服务器相应,在点击另一个按钮,然后在等待,这样一个反复的过程。

而AJAX是一种创建交互式网页的网页开发技术,其中XMLHttpRequest是核心的内容,它能够为页面中的javascript脚本提供特定的通信方式,从而使页面的javascript脚本和服务器之间形成动态交互的效果,XMLHTTPRequest的最大的优点是页面内的javascript脚本可以不用刷新页面,而直接和服务器发生交互。

XMLHTTPRequest的五步使用法

1、建立XMLHTTPRequest对象

//1.创建XMLHTTPRequest对象
                if(window.XMLHttpRequest){
                    //alert("IE7,IE8,FireFox");
                    xmlhttp =new XMLHttpRequest();
                    if(xmlhttp.overrideMimeType){
                        xmlhttp.overrideMimeType("text/xml");
                    }
                }else if(window.ActiveXObject){
                    //alert("IE6,IE5.5,IE5");
                    var activexName=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0",
                        "MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0",
                        "MSXML2.XMLHTTP","Miscrosoft XMLHTTP"];
                    for(var i=0;i<activexName.length;i++) {
                        try{
                            xmlhttp=new ActiveXObject(activexName[i]);
                            break;
                        }catch(e){

                        }
                    }
                }
                if(xmlhttp == undefined || xmlhttp == null){
                    alert("当前浏览器不支持创建XMLHttpRequest对象,请更换浏览器");
                    return;
                }
                array.push(xmlhttp.readyState);

2、注册回调函数

xmlhttp.onreadystatechange=callback;

要注意的是callback不能写成callback(),我们是想把方法名告诉onreadystatechange这个属性,如果加了括号,就相当于把返回值告诉了onreadystatechange属性。

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

有两种方法

      //GET方式交互
      xmlhttp.open("GET","AJAX?name=" + userName,true);

      //POST方式交互
      xmlhttp.open("POST","AJAX",true);
      //POST方式交互所需增加的代码
      xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")

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

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

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

5、更新界面

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

     array.push(xmlhttp.readyState);
     //判断和服务器端的交互是否完成,还要判断服务器端是否正确返回了数据
     if(xmlhttp.readyState == 4){
     //表示和服务器端的交互已经完成
        if(xmlhttp.status == 200){
        //表示服务器的是响应代码是200,正确返回了数据
           var message=xmlhttp.responseText;
           //XML数据对应的DOM对象的接受方法
           //使用的前提是,服务器端需要设置contenttype为text/xml

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

总结

初步了解XMLHTTPRequest对象的使用,便于以后更深入的去了解和使用。

时间: 2024-08-29 09:41:09

AJAX--XMLHttpRequest五步使用法的相关文章

Ajax学习(三)——XMLHttpRequest对象的五步使用法

    Ajax的核心技术是XMLHttpRequest对象,它可以在不向服务器提交整个页面的情况下,实现局部更新网页.通过这个对象,Ajax可以像桌面应用程序那样只与服务器进行数据层的交换,而不必每次都刷新界面,也不必每次将数据处理的工作都交给服务器来做.这样既减轻了服务器负担又提高了响应速度,还缩短了用户的等待时间.通常一个Ajax的实现过程有五步,下面我们以上篇博客中的小实例为例来逐步学习. 1.建立XMLHttpRequest对象. IE浏览器将XMLHttpRequest实现为一个Ac

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

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

AJAX核心--XMLHttpRequest五步法

引言: AJAX=异步Javascript + XML,AJAX是一种用于创建快速动态网页的技术. 开门见山: 解读:AJAX使用XHTML和CSS为网页表示,DOM动态显示和交互,XML进行数据交换和处理,XMLHttpRequest进行数据检索,Javascript将以上技术融合. AJAX与传统的Web开发有什么区别? 用一句话总结:在页面跳转时,传统是整个页面刷新的:AJAX是一部分数据改变. 思维方式的转变:传统web应用时页面交互为主导.同步响应.非标准方式布局和开发.主要代码在服务

【数学建模的五步方法】

第一步,提出问题. ·列出问题中涉及的变量,包括适当的单位. ·注意不要混淆变量的常量. ·列出你对变量所做的全部假设,包括等式和不等式. ·检查单位从而保证你的假设有意义. ·用准确的数学术语给出问题的目标. 第二步,选择建模方法. ·选择结局问的一个一般的求解方法. ·一般地,这一步的成功需要经验.技巧和熟悉相关文献. 第三步,推导模型的数学表达式.·将第一步中得到的问题重新表达成第二步选定额建模方法所需要的形式. ·你可能需要将第一步中的一些变量名改成与第二步所用的记号一致.·记下任何补充

Log4Net五步走

本文不是教你全面了解log4net,本文只是希望教会你按步就班,照糊芦画瓢般就会用log4net1,引入log4net.dll组件2,建立一个配置文件两种方法,一种是在Web.Config或App.Config里加入以下配置节 <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

Kali Linux渗透测试五步曲

Kali Linux的设计目的是渗透测试.不管渗透测试者的起点是白盒测试.黑盒测试,还是灰盒测试,在用Kali或其它工具进行渗透测试时,总要遵循一些步骤. 第一步:侦察阶段 在发动攻击之前,渗透测试者应当尽量多地了解目标环境和系统的特点.渗透测试者找到的目标信息越多,就越有更好的机会确认最容易和最快的成功方法.与白盒测试相比,黑盒测试要求进行更多的侦察,因为测试者并没有获得太多的数据.侦察服务可能包括调查目标的互联网足迹.监视资源.监视人员.过程等,扫描网络信息(如IP地址和系统类型),社会工程

mysql数据库优化五步走

MySQL数据库是一种小型关系型数据库管理系统,MySQL数据库的优化是MySQL数据库操作过程中非常重要的工作,MySQL数据库的优化能够实现MySQL数据库操作的简便. 第一步: 1:磁盘寻道能力,以高速硬盘(7200转/秒),理论上每秒寻道7200次.这是没有办法改变的,优化的方法是----用多个硬盘,或者把数据分散存储. 2:硬盘的读写速度,这个速度非常的快,这个更容易解决--可以从多个硬盘上并行读写. 3:cpu.cpu处理内存中的数据,当有相对内存较小的表时,这是最常见的限制因素.

C语言程序设计入门学习五步曲(转发)

笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢? 二.用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识.例如,如果你不知道长方形的面积公式,即使C语言

Js--AJAX的小知识(一):ajax的五种状态

一.ajax的五种状态(readyState ) 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端调用了 readyState 状态说明 (0)未初始化 此阶段确认XMLHttpRequest对象是否创建,并未调用open()方法进行未初始化作好准备.值未0表示对象已经存在,否则浏览器会报错--