`
阅读更多

概念:Ajax是英文Asynchronous JavaScript And Xml的字母缩写,第一个单词表示异步。

Ajax是一种在网络应用中实现异步通讯和数据交换的技术。其实是多种技术的一个综合。包括了:JavaScript,XTHML,
CSS,xML,DOM,XSLT和XMLHttpRquest等。。

功能:1.无刷新更新页面。

         2.按需求获取数据,减轻对服务器的负担。

         3.实现福客户端。

         4.实现按照一定的标准和广泛使用的技术。

         5.实现页面和逻辑分离。

         6.获取用户数据,并连续的,动态交互。

核心:其中XMLHttpRequest对象就是Ajax用来实现异步互交的核心技术。XMLHttprequest对象支持Internet Explorer 5.0,Safari 1.2,Mozilla 1.0 Firefox, Openera8+ 以及  Netscape 7。通过使用 XMLHttpRequest 对象,web 开发者可以做到在页面已加载后从服务器更新页面。不同的浏览器所创建的XMLHttpRequest对象方法也有不一样。IE 浏览器使用:ActiveXobject对象,其他浏览器使用的是 XMLHttpRequest对象。

初始化XMLHttpRequest对象的几种方案。

<script language="javascript">
   var  myRequest; //生命一个变量用来引用XMLHttpRequest对象
       //IE 1
       myRequest = new ActiveXObject("Msxm12.XMLHTTP");//在初始化XMLHttpRequest对象。
       //IE 2
       myRequest   = new ActiveXObect("Microsoft.XMLHTTP");
          //其他的浏览器
       myRequest   = new XMLHttpRequest();
</script>
//不过建议不要这样写,因为你无法确定客户端的浏览器,有可能对Ajax的不支持,你可以对其进行Try Catch。异常捕获。
修改后
<script language="javascript">
  
   var  myRequest; //生命一个变量用来引用XMLHttpRequest对象
    try{
            //IE 1
               myRequest = new ActiveXObject("Msxm12.XMLHTTP");//在初始化XMLHttpRequest对象。
     }catch(e){
     
           try{
           //IE 2
            myRequest   = new ActiveXObect("Microsoft.XMLHTTP");
                //其他的浏览器
       }catch(e){
            try{
            //其他的浏览器
        myRequest   = new XMLHttpRequest();
             }catch(e){
              
                    alert("你的浏览器不支持Ajax!");
             }

           }



       }
</script>

 XMLHttpRequest对象的属性

属性 描述
onreadystatechange 状态改变的事件触发器
redyState

对象状态0=未初始化
            1=读取中

            2=以读取

            3=交互中

            4=完成

responseTest 服务器进程返回数据的文本版本
responseXML 服务器进程返回数据的兼容DOM的XML文档对象
status 服务器返回的状态码如:404资源找不到200成功
statusText 服务器返回状态的文本信息

XMLHttpRequest对象的方法;

 

方法 描述
abort() 停止当前请求
getAllResponseHeaders() 作为字符串返回完整的Headers
getResponseHeader("headerLabel") 作为字符串返回单个的Headers
open("method","URL"[,asyncFlag[,"username"[,"password"]]]) 设置请求目标URL方法和其他参数
send(content) 发送请求
setRequestHeader("label","value") 设置header并和请求一起发送

指定响应处理函数(回调函数)

myRequest.onreadystatechange = t2 ;

function t2(){

...............

}

发出Http请求,这里会用到open()函数。

myRequest.open("GET","b.jsp?id="+userId,true);

myRequest.send(null);发送请求。

open第一个参数:是HTTP请求,可以是GET,POST或Head

        第二个参数:是目标URL,注意:只能是内部的URL

        第三个参数:是指定等待服务器返回信息的时间内,是否继续执行下面的代码,如果是true则不会执行。默认是true。

调用玩open之后,直接嗲用send方法,提交数据。如需要传送文件,需要调用setRequestHeader方法,修改MIME类别。

如:myRequest.setRequestHeader("Context-Type","applicaction/msexcel").

对服务器返回的信息进行处理。

首先根据XMLHttpRequest的readyState的值进行判断,如果对象状态是完成的话。就通过responseText;

方法进行处理。

if(myRequest.readyState == 4){

 

    var backret = myRequest.responseText;

}

for ensample 

创建一个web项目。代码如下。

 

<script language="javascript">
   var req;
   function test(){
     var id = document.all("id").value;
     var name= document.all("name").value;


     //初始化XMLHttpRequst
	 req = new ActiveXObject("Microsoft.XMLHTTP");
     req.onreadystatechange = myDeal;//需要另一个function  //服务器处理之后调用的一个方法
	 req.open("GET","b.jsp?id="+id+"&name="+name);
     req.send(null);//没有内容,因为传递的数据在open中
   }
   function myDeal(){
     if(req.readyState==4){
	    var ret = req.responseText;
		document.all("myDiv").innerHTML = ret;
	 }
   }
</script>
<center>用户注册</center>
用户名:<input type="text" name="id" onblur="test();">*<div id="myDiv" name="myDiv"></div>
密  码:<input teype="text" name="name">
<input type="button" value="注册" onclick="test()">
<% 
String id = request.getParameter("id");
String name = request.getParameter("name");
if(id==null||id.trim().length()==0){
   out.println("Id can't be null or empty");
}else if(id!=null&&id.equals("javass")){
  out.println("ID REPEATED");
}else{
  out.print("ok registry");
}

%>

  学习总结:Ajax就是一个异步互交技术。用JavaScript技术负责前台准备数据,可以直接在DOM中获取提交的数据,然后组成程序合法的请求格式。当从后台返回数据后,也是由JavaScript负责解析数据,并把数据重新设置成Html的组建上进行显示。传递回来的数据可以是普通文本,也可以是XML,一般都是用文本。速度快,处理方便。

分享到:
评论

相关推荐

    Book4-No.02 AJAX初体验

    【标题】"Book4-No.02 AJAX初体验"揭示了AJAX(Asynchronous JavaScript and XML)技术在Web开发中的基本应用。AJAX允许开发者在不刷新整个网页的情况下,通过后台与服务器交换数据并局部更新页面,从而提高用户体验...

    AJAX实例应用初体验:自动保存草稿

    ### AJAX实例应用初体验:自动保存草稿 #### 背景介绍 随着Web应用程序的发展,用户体验成为衡量一个网站或应用是否成功的重要因素之一。在众多提升用户体验的技术中,AJAX(Asynchronous JavaScript and XML)因其...

    PageHelper AJAX MVC 分页封装(初体验)

    当用户点击页码或更改每页显示数量时,AJAX会向服务器发送请求,而不是刷新整个页面,这样能保持用户的浏览状态,并提供流畅的交互体验。服务器端接收到请求后,根据参数调用PageHelper进行分页查询,然后返回JSON...

    Ajax 修炼之道 Web 2.0 入门 2007

    通过阅读《Ajax修炼之道:Web 2.0入门 2007》,开发者能够掌握Ajax技术,从而构建出更加互动、高效的Web应用程序,为用户提供更加流畅的浏览体验。同时,书中的案例和实践指导也能帮助读者将理论知识转化为实际操作...

    关于ajax原理的ppt

    **异步调用初体验** 实现Ajax调用通常包括以下步骤: 1. 创建XmlHttpRequest对象。 2. 注册`onreadystatechange`事件监听器,处理状态变化。 3. 使用`open()`方法初始化请求,指定HTTP方法、URL和是否异步。 4. ...

    精通Ajax_基础概念_核心技术与典型案例

    最后一部分通过几个大型的实例,让读者深入领会Ajax技术在实际网络项目中的优势,也让读者体验这种优势所带来的优越性能。  本书适用于初、中级网络开发者,对于高级开发人员也很有启发。没有接触过Ajax的入门者...

    《疯狂Ajax讲义(第3版).part3

    目录…………第一章 ajax概述与ajax初体验 第二章 XMLHttpRequest对象详解 第三章 jquery库详解 第四章 基于jquery的应用:电子相册系统 第五章 Ext JS 核心技术详解 第六章 Ext JS界面组件详解 第七章 ...

    jQuery AJAX表格控件(初版)源码

    AJAX(异步JavaScript和XML)则允许在不刷新整个页面的情况下更新部分网页内容,提高了用户体验。在这个控件中,jQuery和AJAX的结合用于实现表格数据的动态加载、编辑和删除,使得用户可以无需刷新页面就能进行操作...

    《疯狂Ajax讲义(第3版).part4

    目录…………第一章 ajax概述与ajax初体验 第二章 XMLHttpRequest对象详解 第三章 jquery库详解 第四章 基于jquery的应用:电子相册系统 第五章 Ext JS 核心技术详解 第六章 Ext JS界面组件详解 第七章 ...

    AJAX初体验之上手篇

    近年来,AJAX因其能够提升用户体验,使网页更加互动而备受关注。在本文中,我们将探讨如何开始使用AJAX,从创建XMLHttpRequest对象,到使用它获取XML文档,以及处理这些文档。 首先,创建XMLHttpRequest对象是AJAX...

    ASP.NET AJAX入门系列教程

     ASP.NET 在2007年初推出了其第一个正式版本,并将Atlas更名为ASP.NET AJAX,对应服务器端和客户端分别对应有ASP.NET服务器端编程模型和ASP.NET客户端编程模型,前者包含ASP.NET 2.0 AJAX Extensions和,后者包含...

    ajax初分析

    总的来说,Ajax是一种强大的技术,能够实现网页的局部更新,提高用户体验,但它也存在一定的限制。对于初学者来说,掌握Ajax的基本概念和使用方法是十分重要的,这将有助于开发更高效、更友好的Web应用。

    ajax 示例源码(经典)

    这个技术自2000年代初被引入以来,极大地提升了网页应用的用户体验,因为它允许页面背景与服务器进行通信,用户界面可以保持响应状态,而不会打断用户的交互。 在“ajax 示例源码(经典)”中,我们可以期待看到...

    《AJAX编程技术与实例》

    在2000年代初,随着Web 2.0概念的提出,AJAX迅速成为开发动态、交互性网页的必备工具。 **核心技术组成:** 1. **JavaScript**:是AJAX的核心,负责创建和控制XMLHttpRequest对象,向服务器发送请求,并处理服务器...

    PHP+Ajax Web 2.0编程技术与项目开发大全

    本书最大的特色在于每一章中涉及的例子都经过精挑细选,具有很强的针对性,力求让读者轻松掌握PHP项目开发的技巧和Ajax改善用户体验的各种技术,学习尽可能多的知识。 本书适用于初、中级有一定基础的PHP程序员,...

    Pragmatic Ajax - A Web 2.0 Primer

    Ajax是21世纪初互联网技术的一次重大飞跃,它使得网页无需刷新即可实现数据的动态更新,极大地提升了用户体验。这本书旨在帮助开发者理解Ajax的基本原理,掌握其实施技巧,并将其有效地应用到Web 2.0项目中。 Ajax...

    达内培训课件-Ajax

    在2000年代初,由jQuery等库的推动下,Ajax彻底改变了Web开发的方式,让网页变得更加动态和交互性强。在达内集团的Java培训课件中,讲解Ajax技术主要是为了帮助学员掌握现代Web应用开发的核心技能。 Ajax的核心原理...

    J2EE的Ajax宝典

    **第2章:Ajax初体验** - **优势与案例对比**:通过具体实例,如传统的JSP聊天室与基于Ajax的聊天室,突出展示Ajax如何改善用户体验和提升应用效率。 - **实现细节**:详细分析如何在聊天室场景中实现异步发送请求...

Global site tag (gtag.js) - Google Analytics