AJAX
什么是Ajax
Ajax(Asynchronous JavaScript and XML)
允许浏览器与服务器通信而无须刷新当前页面的技术
不需要刷新整个页面便可与服务器通讯的方法
-flash
-JavaScript
-框架
-隐藏的iframe
-XMLHttpRequest:该对象是对JavaScript的一个扩展,可使网页与服务器进行通信。是创建Ajax应用的最佳选择。实际上通常把Ajax当成XMLHttpRequest对象的代名词
AJAX工具包
Ajax并不是一项新技术,它实际上是几种技术,每种技术各尽其职,以一种全新的方式聚合在一起
——服务器端语言:服务器需要具备向浏览器发送特定信息的能力。Ajax与服务器语言无关。
——XML(可扩展标记语言)是一种描述数据的格式。Ajax程序需要某种格式化的格式来在服务器和客户端之间传递信息,XML是其中一种选择
——XHTML(扩展超媒体标记语言)和CSS(级联样式表)标准化呈现。
——DOM(文档对象模型)实现动态显示和交互:
——使用XMLHTTO组件XMLHttoRequest对象进行异步数据读取
——使用JavaScript绑定和处理所有数据
创建XMLHttpRequest对象
xhr = new XMLHttpRequest();
XMLHttpRequest对象的方法
abort():停止当前的请求
getAllResponseHeaders():把HTTP请求的所有响应首部作为键/值对返回
getResponseHeader("header"):返回指定首部的串值
open("method","url"):建立对服务器的调用。Method参数可以是GET、POST或PUT。url参数可以是相对url或绝对url
send(content):向服务器发送请求
setRequestHeader("header","value"):把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()
XMLHttpRequest对象的属性
onreadystatechange:每个状态改变是都会触发这个事件处理器,通常会调用一个javascript函数
readyState:请求的状态,有5个可取值:0=未初始化,1=正在加载,2=已经加载,3=交互中,4=完成
responseText:服务器的响应,表示为一个串
responseXML:服务器的响应,表示为XML,这个对象可以解析为DOM对象
status:服务器的HTTP状态码(200对应OK,404对应NotFount等)
发送请求:
* 利用XMLHttpRequest实例与服务器进行通信包含以下3个关键部分:
——onreadystatechange事件处理函数
——open方法
——send方法
* onreadystatechange:
——这个事件处理函数由服务器触发,而不是用户
——在ajax执行过程中,服务器会通知客户端当前的通信状态。这依靠更新XMLHttpRequest对象的readyState来实现。改变readyState属性是服务器对客户端连接操作的一种方式。每次readyState属性的改变都会触发readystatechange事件
GET请求:
<%-- Created by IntelliJ IDEA. User: dell Date: 2019/5/23 Time: 15:19 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>Title HelloAjax
post请求
<%-- Created by IntelliJ IDEA. User: dell Date: 2019/5/23 Time: 15:19 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>Title HelloAjax