`

Ajax原理

阅读更多

 

本文将通过一个具体的例子来展示Ajax的工作原理,通过与传统请求响应方式的对比展现Ajax中处理请求响应的不同方式。在这个示例程序中,所要完成的任务非常简单,仅仅需要输入一个姓名然后提交这个表单,在服务器端处理这个请求,然后在页面显示处理的结果,在下面的示例程序中,将展示通过传统方式和Ajax方式分别处理这个请求响应的具体过程。

传统方式:

 

Java代码 
  1. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"  
  2.     pageEncoding="ISO-8859-1"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
  7. <title>Insert title here</title>  
  8. </head>  
  9. <body>  
  10.     <form action="SayHello.jsp">  
  11.         name:<input type="text" name="name"/>  
  12.         <input type="submit" name="submit"/>  
  13.     </form>  
  14.     <%  
  15.         if(request.getParameter("name")!=null&&request.getParameter("name").length()>0)  
  16.             out.print("Hello "+request.getParameter("name"));  
  17.     %>  
  18. </body>  
  19. </html>  


 

传统方式的实现方式是直接将表单提交到自身的页面,然后在服务器端经过编译后执行其中的Java代码。

Ajax方式(Servlet代码以及配置文件略):

 

Java代码 
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
  7. <title>SayHello</title>  
  8. <script type="text/javascript">  
  9.     //创建XMLHttpReques对象  
  10.     function createXMLHttpRequest(){  
  11.           
  12.         if(window.XMLHttpRequest){  
  13.             //Mozilla浏览器  
  14.               
  15.             XMLHttpReq=new XMLHttpRequest();  
  16.         }else{  
  17.               
  18.             //IE浏览器  
  19.             if(window.ActiveXObject){  
  20.                 try{  
  21.                     XMLHttpReq=new ActionXObject("Msxm12.XMLHTTP");  
  22.                 }catch(e){  
  23.                     try{  
  24.                         XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");  
  25.                     }catch(e){}  
  26.                 }  
  27.             }  
  28.         }  
  29.     }  
  30.     //处理服务器响应结果  
  31.      function handleResponse() {  
  32.         // 判断对象状态  
  33.         if (XMLHttpReq.readyState == 4) {   
  34.             // 信息已经成功返回,开始处理信息  
  35.            if (XMLHttpReq.status == 200) {   
  36.                 var out = "";  
  37.                 var res = XMLHttpReq.responseXML;  
  38.                 var response= res.getElementsByTagName("response")[0].firstChild.nodeValue;  
  39.                 //5. 解析服务器返回的信息,更新用户界面  
  40.                 document.getElementById("Hello").innerHTML = response;  
  41.                }  
  42.          }  
  43.        }  
  44.     //发送客户端的请求  
  45.     function sendRequest(url){  
  46.         //1.创建XMLHttpRequest  
  47.         createXMLHttpRequest();  
  48.         //2.设置回调函数  
  49.         XMLHttpReq.onreadystatechange=handleResponse;  
  50.         //3.初始化XMLHttpRequest组建并发送请求  
  51.         XMLHttpReq.open("GET",url,true);  
  52.         //发送请求  
  53.         XMLHttpReq.send(null);  
  54.     }  
  55.     //开始调用Ajax的功能  
  56.     function sayHello()  
  57.     {  
  58.         var name=document.getElementById("name").value;  
  59.         //发送请求  
  60.         sendRequest("SayHell?name="+name);  
  61.     }  
  62. </script>  
  63. </head>  
  64. <body>  
  65.     <font size="1">  
  66.         name:<input type="text" id="name"/>  
  67.         <input type="button" value="提交" onclick="sayHello()"/>  
  68.         <div id="Hello"></div>  
  69.     </font>  
  70. </body>  
  71. </html>  


 

代码解析:

1.创建XMLHttpRequest

2.设置回调函

3.初始化XMLHttpRequest组建并发送请求

4. 服务器返回响应信息

5. 解析服务器返回的信息,更新用户界面

详细调用过程如下java教程网

最终Ajax方式处理请求的效果是通过XMLHttpRequest对象向服务器发送请求,在得到服务器的返回的处理结果以后,文本框中的用户输入信息依然存在,使用Ajax只是刷新了页面的局部区域,把处理的结果展示在页面的指定位置,对于页面的其他部分不会进行刷新。

7
8
分享到:
评论
1 楼 lilai 2012-07-08  

相关推荐

    AJAX原理 原理 AJAX

    "AJAX原理与技术的深入分析" AJAX(Asynchronous JavaScript and XML)是一种异步通信技术,允许Web应用程序异步地从服务器请求数据,而不需要重新加载整个网页。下面我们将深入分析AJAX的原理、技术、意义和发展...

    关于ajax原理的ppt

    **Ajax原理的理解** Ajax,全称为Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它的出现极大地提升了Web应用程序的用户体验,因为它允许数据在后台与服务器...

    Ajax原理与系统开发》源码

    **Ajax原理详解** Ajax,全称为"Asynchronous JavaScript and XML",是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax的核心是JavaScript对象XMLHttpRequest,它允许在后台与服务器交换数据并...

    ajax ajax原理 ajax代码 ajax编程 ajax学习

    ### **Ajax 原理** Ajax的原理主要包含以下几个步骤: 1. **创建 XMLHttpRequest 对象**:这是Ajax的基础,现代浏览器通常都内置了XMLHttpRequest对象。 2. **开启一个HTTP请求**:使用XMLHttpRequest对象的`open()`...

    ajax原理及用法

    ### AJAX原理及用法 #### 一、什么是Ajax技术? Ajax(Asynchronous JavaScript and XML,异步JavaScript与XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据...

    Ajax原理详细说明.doc

    Ajax原理的实现依赖于一系列技术的协同工作,包括HTML、JavaScript、DHTML(Dynamic HTML)和DOM(Document Object Model)。 HTML是网页的基础结构,它用于创建交互式表单,设置用户输入的元素。在Ajax应用中,...

    ajax详解教程讲述ajax原理

    Ajax 详解教程讲述 Ajax 原理 Ajax 是一种异步 JavaScript 和 XML 技术,允许 Web 应用程序实时更新页面内容,而不需要重新加载整个页面。Ajax 技术的核心是使用 XMLHttpRequest 对象异步地从服务器获取数据,并...

    Ajax原理详细说明

    Ajax原理的实现依赖于一系列技术的协同工作,包括HTML、JavaScript、DHTML(Dynamic HTML)和DOM(Document Object Model)。 HTML是网页的基础结构,它用于创建表单和其他元素,这些元素在Ajax交互中扮演着重要...

    ajax原理,xmlHttpRequest

    ### AJAX原理与XMLHttpRequest详解 #### 一、引言 AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。其核心在于使用`XMLHttpRequest`...

    ajax 原理

    ### Ajax原理深度剖析 #### 一、Ajax概览与核心价值 Ajax,全称为“Asynchronous JavaScript and XML”,是一种用于创建动态网页的技术。它并非一种全新的技术,而是对现有技术(如XMLHttpRequest、DOM、CSS和...

    隐藏框架实现ajax原理

    在本项目中,“隐藏框架实现ajax原理”是一个演示如何利用隐藏iframe来实现Ajax交互的实例。下面我们将详细探讨Ajax的工作原理以及如何通过隐藏框架实现这一过程。 1. **Ajax工作原理**: Ajax的核心是JavaScript...

    AJAX原理及其在Web开发中的应用.pdf

    "AJAX原理及其在Web开发中的应用" AJAX(Asynchronous JavaScript and XML)是一种实现异步通信的技术,在Web开发中极为重要。本文将从AJAX的基本原理开始,逐步介绍AJAX的技术架构、主要组件、工作原理、优点和...

    ajax原理简介(包含例子说明)

    **Ajax原理简介** Ajax,全称"Asynchronous JavaScript and XML",是一种用于构建高度交互式Web应用程序的技术,使得页面能够在不完全刷新的情况下与服务器通信。它不是单一的技术,而是结合了多种技术,包括...

    ajax原理文档说明txt格式

    ### AJAX原理详解 #### 一、引言 随着互联网技术的发展与用户对交互体验需求的提升,异步请求成为Web开发中的重要组成部分。AJAX(Asynchronous JavaScript and XML)作为一种无需重新加载整个网页即可更新部分...

    AJAX原理[收集].pdf

    **AJAX原理详解** AJAX,全称Asynchronous JavaScript and XML,是一种用于创建快速动态网页的技术。它允许在不重新加载整个网页的情况下,与服务器交换数据并更新部分网页内容。这种技术极大地改善了用户的交互...

    Ajax原理及例题

    **Ajax原理** 1. **用户交互**:当用户在页面上进行操作,如点击按钮,触发Ajax请求。 2. **创建XMLHttpRequest对象**:所有现代浏览器都内置了XMLHttpRequest对象,它是Ajax通信的基础。这个对象负责与服务器建立...

    Ajax 原理和应用(培训资料)

    ### Ajax原理与应用知识点详解 #### 一、Ajax技术背景 - **背景介绍**:Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这项技术最早出现在2005年左右,...

    Ajax原理介绍

    Ajax原理介绍,详细介绍了ajax的工作原理!

    ajax原理及应用

    ajax原理及应用,概念,技术以及xmlhttprequest实例化

Global site tag (gtag.js) - Google Analytics