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"%>




Insert title here



  
web.xml getAjaxNameServlet com.andrew.web.GetAjaxNameServlet getAjaxNameServlet /getAjaxName 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)