一、什么是ajax
ajax(Asynchronous JavaScript And XML)即异步JavaScript和XML,它是一种用于创建快速动态网页的技术。作用是通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
Ajax不是新的编程语言,而是一种使用现有标准的新方法。
Ajax最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。(这一特点给用户的感受是在不知不觉中完成请求和响应过程)
Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。
同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;
异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。
二、实现ajax的基本步骤
创建XMLHttpRequest对象,也就是创建一个异步调用对象. 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息. 设置响应HTTP请求状态变化的函数. 发送HTTP请求. 获取异步调用返回的数据. 使用JavaScript和DOM实现局部刷新。
三、ajax实现方式
这里我们不做原生ajax的介绍,因为JQuery对ajax进行了封装。可以用少量的代码实现原生ajax的功能,同时又帮助我们解决了浏览器的兼容问题,没有道理不选它。
$.ajax是对ajax最基础的封装,来看一个简单例子
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/user/deleteAll",
data:{userList:userList.toString()},
success:function () {
alert("删除数据成功!");
location.reload();
},
error:function () {
alert("删除数据失败!")
}
})
关键参数介绍:
method:数据的提交方式
url:数据的提交url
async:是否支持异步刷新,默认是true
data:需要提交的数据
dataType:服务器返回数据的类型,例如xml,String,Json等
success:请求成功后的回调函数
error:请求失败后的回调函数
四、常用请求类型介绍
multipart/form-data类型主要是上传文件时用到;
application/x-www-form-urlencoded类型主要是提交k-v时用到,当然这种方法也可以将json设置在v中提交json数据;
application/json类型主要是传递json数据用到,层次比较深的数据;
五、ajax的优缺点
1 优点
Ajax使用JavaScript技术向服务器发送异步请求;
Ajax请求无须刷新整个页面;
因为服务器响应内容不再是整个页面,而是页面中的部分内容,所以Ajax性能高;
2 缺点
滥用技术,造成服务器压力过大