AJax技术

Ajax学习总结(一)

字号+ 作者:H5之家 来源:H5之家 2017-01-15 16:00 我要评论( )

1,Ajax简介 传统web交互模型是通过浏览器直接将请求发送给web服务器,web服务器收到请求并对请求处理后,将处理结果以回送响应的方式直接发给浏览器。在这种交

1,Ajax简介


  传统web交互模型是通过浏览器直接将请求发送给web服务器,web服务器收到请求并对请求处理后,将处理结果以回送响应的方式直接发给浏览器。在这种交互模式下,请求和响应的整个过程中,不可避免地会出现时延,因为,用户在发出一条请求后必须等待服务器响应,等待屏幕刷新,等待请求返回和生成新的页面,之后才能再次发出下一条请求。因此,这种交互给用户带来的体验是非常差的,为了改善用户体验,Ajax应运而生。


  Ajax,即异步的JavaScript和XML(Asynchronous JavaScript and XML)。Ajax通过在浏览器端引入ajax引擎对用户请求进行预处理后发送给web服务器,同时,ajax引擎还负责接收服务器响应并对响应进行相关处理再回送给浏览器,ajax引擎通过异步的方式允许用户在收到响应之前不断地发送多条请求。Ajax正是通过这种类似于缓冲器的设置,让用户产生请求——响应无延时的体验,从技术角度来说,它并非一种新的技术,而仅仅是几种原有技术的组合,Ajax通过对这些技术的组合有效地实现了web页面与web服务器的动态交互,从而很好地改善了用户体验。这些技术主要包括:


1,CSS和XHTML,用于页面布局和样式设置


2,DOM模型,用于实现各种交互和动态显示。


3,XMLHttpRequest,用于与服务器进行异步通信。


4,javascript来绑定和调用相关函数,实现服务器响应向浏览器的回送。


  简单来说,Ajax是通过XmlHttpRequest对象来向服务器发送异步请求,从服务器获取数据,然后利用javascript来操作DOM,从而实现浏览器端页面更新。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对XMLHttpRequest有所了解。


2,XMLHttpRequest对象及其属性


  XMLHttpRequest本质上是一个javascript对象,该对象是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,通过操纵XMLHttpRequest对象的属性和方法。javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。从而实现多次请求而页面无刷新的效果。


下面简要介绍一下XMLHttpRequest的相关属性和方法:


XMLHttpRequest的相关属性:


     onreadystatechange状态改变时所触发事件的处理程序


    responseText用于指定以文本形式返回服务器响应信息。


    responseXML 用于指定以DOM兼容的文档形式返回服务器响应信息


status 用于指定服务响应的http状态码,如404、500、200等。


    status Text 用于指定http状态码说明信息。


   readyState 用于设置XMLHttpRequest对象状态值,共包含下列5个状态值:


       0 (未初始化)对象已建立,但是尚未初始化(尚未调用open方法)


       1 (初始化)对象已建立,尚未调用send方法


     2 (发送数据) send方法已调用,但是当前的状态及http头未知


    3 (数据传送中)已接收部分数据,因为响应及http头不全,这时通过responseXML和responseText获取部分数据会出现错误,


     4 (完成)数据接收完毕,此时可以通过responseXml和responseText获取完整的响应数据。


XMLHttpRequest的主要方法:


    open(参数列表); 用于启动ajax引擎,并通过参数设置请求类型和URL地 址及其他请求参数


    send(参数列表); ajax引擎通过调用XMLHttpRequest对象的send方法向服务器发送http请求。


3,Ajax技术开发步骤:


  完成一个ajax应用程序的开发通常需要实现以下5个步骤:


    1.得到XMLHttpRequest对象.(js对象)


    2.注册回调函数


    3.调用open函数,该函数只是用于设置请求方式 以及url,它不发送请求.


    4.调用send函数发送请求,


    5.在回调函数中处理数据。


  下面通过一个简单的例子来演示一下ajax步骤的具体实现:


  1,创建jsp页面,如图,在/webroot目录下创建一个名为ajax.jsp(文件名任取)的jsp页面。代码如下:



1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2
3
4
5
40
41
42
43

  2,创建处理请求的Servlet程序,代码如下:



1 package com.swu.ajax;
2
3 import java.io.IOException;
4 import java.io.PrintWriter;
5 import javax.servlet.ServletException;
6 import javax.servlet.http.HttpServlet;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9
10 public class Ajax1Servlet extends HttpServlet {
11
12 public void doGet(HttpServletRequest request, HttpServletResponse response)
13 throws ServletException, IOException {
14 //接收请求参数
15 String name = request.getParameter("name");
16 //响应浏览器请求,
17 PrintWriter out = response.getWriter();
18 out.write("Hello " + name);
19 out.flush();
20 out.close();
21
22 //测试服务器是否收到浏览器端发送的请求。
23 System.out.println(name);
24 }
25
26 public void doPost(HttpServletRequest request, HttpServletResponse response)
27 throws ServletException, IOException {
28 this.doGet(request, response);
29 }
30 }

  3,配置Servlet,在web.xml中配置servlet映射



1 <?xml version="1.0" encoding="UTF-8"?>
2
7

 

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

相关文章
  • Django Ajax CSRF 认证

    Django Ajax CSRF 认证

    2017-01-15 18:14

  • 请教–如何学习ajax

    请教–如何学习ajax

    2017-01-15 15:10

  • jQuery ajax() 方法

    jQuery ajax() 方法

    2017-01-15 13:00

  • 使用 Dojo 的 Ajax 应用开发进阶教程,第 1 部分: JavaScript 技巧与高级特性

    使用 Dojo 的 Ajax 应用开发进阶教程,第 1 部分: JavaScript 技巧与

    2017-01-15 12:05

网友点评
l