`

Ajax核心知识

阅读更多
1. XMLHttpRequest对象创建

所有现代浏览器均支持XMLHttpRequest对象(IE5和IE6使用ActiveXObject)。

XMLHttpRequest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。


2. XMLHttpRequest对象请求后台

open(method,url,async)规定请求的类型、URL以及是否异步处理请求。
method:请求的类型;GET或POST
url:文件在服务器上的位置
async:true(异步)或false(同步)

send(string)将请求发送到服务器。
string:仅用于POST请求GET还是POST?
与POST相比,GET更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用POST请求:
1) 无法使用缓存文件(更新服务器上的文件或数据库)
2) 向服务器发送大量数据(POST没有数据量限制)
3) 发送包含未知字符的用户输入时,POST比GET更稳定也更可靠

setRequestHeader(header,value)向请求添加HTTP头。
header:规定头的名称
value:规定头的值

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");异步-True或False?
AJAX指的是异步JavaScript和XML(AsynchronousJavaScriptandXML)。
为True的话,表示的是异步,异步表示程序请求服务器的同时,程序可以继续执行;能提高系统的运行效率;
为False的话,表示同步,JavaScript会等到服务器响应就绪才继续执行。如果服务器繁忙或缓慢,应用程序会挂起或停止。
我们一般都是用True;


ajax.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
    function loadName(){
        var xmlHttp;
        if(window.XMLHttpRequest){
            xmlHttp=new XMLHttpRequest();
        }else{
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        alert("readState状态:"+xmlHttp.readyState+";status状态:"+xmlHttp.status);
        xmlHttp.onreadystatechange=function(){
            alert("readState状态:"+xmlHttp.readyState+";status状态:"+xmlHttp.status);
            if(xmlHttp.readyState==4 && xmlHttp.status==200){
                alert(xmlHttp.responseText);
                document.getElementById("name").value=xmlHttp.responseText;
            }
        };
        // xmlHttp.open("get", "getAjaxName?name=jack&age=11", true);
        // xmlHttp.send();
        
        // xmlHttp.open("post", "getAjaxName?name=jack&age=11", true);
        // xmlHttp.send();
        
        xmlHttp.open("post", "getAjaxName", true);
        xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlHttp.send("name=jack&age=11");
    }
</script>
</head>
<body>
<div style="text-align: center;">
    <div><input type="button" onclick="loadName()" value="Ajax获取数据"/>&nbsp;&nbsp;<input type="text" id="name" name="name" /></div>
</div>
</body>
</html>

web.xml

<servlet>
      <servlet-name>getAjaxNameServlet</servlet-name>
      <servlet-class>com.andrew.web.GetAjaxNameServlet</servlet-class>
</servlet>
<servlet-mapping>
      <servlet-name>getAjaxNameServlet</servlet-name>
      <url-pattern>/getAjaxName</url-pattern>
</servlet-mapping>

GetAjaxNameServlet.java

package com.andrew.web;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class GetAjaxNameServlet extends HttpServlet{
    private static final long serialVersionUID = 1L;
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        this.doPost(request, response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String name=request.getParameter("name");
        String age=request.getParameter("age");
        System.out.println("name="+name);
        System.out.println("age="+age);
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out=response.getWriter();
        out.println("ajax返回的文本");
        out.flush();
        out.close();
    }
}

http://localhost:8080/HeadFirstAjaxJsonChap02/ajax.jsp
页面显示:
ajax返回的文本
后台打印:
name=jack
age=11
alert弹窗:
readState状态:0;status状态:0
readState状态:1;status状态:0
readState状态:2;status状态:200
readState状态:3;status状态:200
readState状态:4;status状态:200
ajax返回的文本
分享到:
评论

相关推荐

    AJAX书籍

    ### AJAX核心知识点详解 #### 一、什么是AJAX? AJAX,全称为Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术通过在后台与...

    【AJAX】传统JavaScript实现AJAX的小栗子

    **AJAX核心知识点:** 1. **XMLHttpRequest对象**:这是实现AJAX的核心,它允许JavaScript与服务器进行异步通信。 2. **创建实例**:首先需要创建XMLHttpRequest对象的实例,然后设置其onreadystatechange事件处理...

    AJAX可以拖动的DIV块.rar

    **AJAX核心知识点** 1. **异步性**:AJAX允许在后台与服务器进行数据交换,不影响用户的其他操作,提高了用户体验。 2. **XMLHttpRequest对象**:是AJAX的核心,负责与服务器通信。它创建一个HTTP请求,并接收来自...

    ajax_ajax教程.

    ### AJAX核心知识点详解 #### 一、AJAX简介与历史背景 **AJAX**(Asynchronous JavaScript and XML)是一项用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味...

    掌握+Ajax 掌握+Ajax

    ### Ajax核心知识点详解 #### 一、Ajax简介与重要性 **Ajax**(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术。它利用后台加载数据的方式,避免了整个网页的重新加载,从而实现了局部刷新的...

    ajax+lucene AjaxFastLane AJAX开发简略(含续一) 电子书

    **Ajax核心知识点:** 1. **XMLHttpRequest对象**:它是Ajax的核心,负责与服务器进行通信,发送请求并接收响应。 2. **JavaScript DOM操作**:DOM(Document Object Model)是HTML和XML文档的结构化表示,通过...

    AJAX全能文档含源码.doc

    ### AJAX核心知识点详解 #### 一、AJAX概述 **AJAX**(Asynchronous JavaScript and XML,异步JavaScript和XML)并非一项全新的技术,而是一种综合运用多种已有的Web技术来构建更高效、更响应迅速的Web应用程序的...

    AJAX_教程.doc

    ### AJAX核心知识点详解 #### 一、什么是AJAX? AJAX(Asynchronous JavaScript and XML)是一种用于创建更快、更高效且交互性更强的Web应用程序的技术。它不是一种新的编程语言,而是利用现有的Web标准(如...

    Ajax学习资料相当不错的

    ### Ajax核心知识点详解 #### 一、Ajax简介与工作原理 **Ajax**(Asynchronous JavaScript and XML) 是一种用于创建快速动态网页的技术。它允许在不重新加载整个网页的情况下,能够更新部分网页内容。Ajax 之所以受...

    ajax的基本知识

    AJAX的核心在于`XmlHttpRequest`对象,它使得JavaScript能够直接与服务器进行通信。 #### AJAX的历史背景 AJAX的概念最初由Jesse James Garrett提出,并在2005年被广泛应用于Google Maps等热门应用中。早在1998年...

    看它,你四天就学会ajax

    ### Ajax核心知识点详解 #### 一、Ajax简介与应用场景 **标题解读**:“看它,你四天就学会Ajax”这一标题明确指出本教程旨在帮助读者快速掌握Ajax技术。Ajax并非一门新的编程语言,而是利用现有标准和技术组合而...

    ajax.doc

    ### Ajax核心知识点详解 #### 一、什么是Ajax? Ajax,全称Asynchronous JavaScript and XML,是一种用于创建更快、更响应式、更动态的Web应用程序的技术集合。它通过使用客户端脚本与Web服务器交换数据,使得Web...

    Ajax的知识结构和内容

    Ajax,即Asynchronous JavaScript and XML,是一种用于创建高效、交互性强的Web应用程序的技术。它并不是一项全新的技术,而是由已有的...理解和掌握Ajax的知识结构,对于提升Web开发能力、构建高效的Web应用至关重要。

    ajax帮助文档

    ### AJAX核心知识点详解 #### 一、AJAX概念与作用 **AJAX(Asynchronous JavaScript and XML)** 是一种在无需重新加载整个网页的情况下能够更新部分网页的技术。它通过后台加载数据并动态地将这些数据注入到当前...

    ajax知识点总结

    2. **XMLHttpRequest对象**:这是Ajax的核心,它允许JavaScript在后台与服务器进行通信。 3. **DOM(Document Object Model)**:用于动态更新和操作HTML或XML文档结构。 4. **CSS(Cascading Style Sheets)**:...

    Ajax核心控件安装程序

    通过以上步骤和知识,开发者可以顺利地在Visual Studio 2005中安装并使用Ajax核心控件,从而提升Web应用的交互性和效率。在实际开发中,还需要不断学习和实践,以掌握更高级的Ajax技术和最佳实践。

    javaScript Ajax核心学习

    综上所述,"javaScript AJAX核心学习"涵盖了从基础的 JavaScript 知识到 AJAX 的核心原理和实践,对于想要构建动态、交互性强的网页应用的开发者来说,这些都是必不可少的技能。通过深入理解和实践这些知识点,你将...

    Ajax的知识,Ajax入门经典

    **Ajax 知识详解** Ajax,全称 Asynchronous JavaScript and XML,是一种用于创建快速、动态网页的技术。它不是一种全新的编程语言,而是将已存在的Web技术(如JavaScript、XML、HTML、CSS等)以一种创新的方式结合...

Global site tag (gtag.js) - Google Analytics