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获取数据"/> <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,全称为Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术通过在后台与...
**AJAX核心知识点:** 1. **XMLHttpRequest对象**:这是实现AJAX的核心,它允许JavaScript与服务器进行异步通信。 2. **创建实例**:首先需要创建XMLHttpRequest对象的实例,然后设置其onreadystatechange事件处理...
**AJAX核心知识点** 1. **异步性**:AJAX允许在后台与服务器进行数据交换,不影响用户的其他操作,提高了用户体验。 2. **XMLHttpRequest对象**:是AJAX的核心,负责与服务器通信。它创建一个HTTP请求,并接收来自...
### AJAX核心知识点详解 #### 一、AJAX简介与历史背景 **AJAX**(Asynchronous JavaScript and XML)是一项用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味...
### Ajax核心知识点详解 #### 一、Ajax简介与重要性 **Ajax**(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术。它利用后台加载数据的方式,避免了整个网页的重新加载,从而实现了局部刷新的...
**Ajax核心知识点:** 1. **XMLHttpRequest对象**:它是Ajax的核心,负责与服务器进行通信,发送请求并接收响应。 2. **JavaScript DOM操作**:DOM(Document Object Model)是HTML和XML文档的结构化表示,通过...
### AJAX核心知识点详解 #### 一、AJAX概述 **AJAX**(Asynchronous JavaScript and XML,异步JavaScript和XML)并非一项全新的技术,而是一种综合运用多种已有的Web技术来构建更高效、更响应迅速的Web应用程序的...
### AJAX核心知识点详解 #### 一、什么是AJAX? AJAX(Asynchronous JavaScript and XML)是一种用于创建更快、更高效且交互性更强的Web应用程序的技术。它不是一种新的编程语言,而是利用现有的Web标准(如...
### Ajax核心知识点详解 #### 一、Ajax简介与工作原理 **Ajax**(Asynchronous JavaScript and XML) 是一种用于创建快速动态网页的技术。它允许在不重新加载整个网页的情况下,能够更新部分网页内容。Ajax 之所以受...
AJAX的核心在于`XmlHttpRequest`对象,它使得JavaScript能够直接与服务器进行通信。 #### AJAX的历史背景 AJAX的概念最初由Jesse James Garrett提出,并在2005年被广泛应用于Google Maps等热门应用中。早在1998年...
### Ajax核心知识点详解 #### 一、Ajax简介与应用场景 **标题解读**:“看它,你四天就学会Ajax”这一标题明确指出本教程旨在帮助读者快速掌握Ajax技术。Ajax并非一门新的编程语言,而是利用现有标准和技术组合而...
### Ajax核心知识点详解 #### 一、什么是Ajax? Ajax,全称Asynchronous JavaScript and XML,是一种用于创建更快、更响应式、更动态的Web应用程序的技术集合。它通过使用客户端脚本与Web服务器交换数据,使得Web...
Ajax,即Asynchronous JavaScript and XML,是一种用于创建高效、交互性强的Web应用程序的技术。它并不是一项全新的技术,而是由已有的...理解和掌握Ajax的知识结构,对于提升Web开发能力、构建高效的Web应用至关重要。
### AJAX核心知识点详解 #### 一、AJAX概念与作用 **AJAX(Asynchronous JavaScript and XML)** 是一种在无需重新加载整个网页的情况下能够更新部分网页的技术。它通过后台加载数据并动态地将这些数据注入到当前...
2. **XMLHttpRequest对象**:这是Ajax的核心,它允许JavaScript在后台与服务器进行通信。 3. **DOM(Document Object Model)**:用于动态更新和操作HTML或XML文档结构。 4. **CSS(Cascading Style Sheets)**:...
通过以上步骤和知识,开发者可以顺利地在Visual Studio 2005中安装并使用Ajax核心控件,从而提升Web应用的交互性和效率。在实际开发中,还需要不断学习和实践,以掌握更高级的Ajax技术和最佳实践。
综上所述,"javaScript AJAX核心学习"涵盖了从基础的 JavaScript 知识到 AJAX 的核心原理和实践,对于想要构建动态、交互性强的网页应用的开发者来说,这些都是必不可少的技能。通过深入理解和实践这些知识点,你将...
**Ajax 知识详解** Ajax,全称 Asynchronous JavaScript and XML,是一种用于创建快速、动态网页的技术。它不是一种全新的编程语言,而是将已存在的Web技术(如JavaScript、XML、HTML、CSS等)以一种创新的方式结合...