概述
- ajax = Asynchronous Javascript And XML(异步的javascipt和xml);
- ajax最大的优点就是在不刷新整个页面的情况下,和数据库交换数据进行页面的局部更新;
- 它不是一种编程语言,是一种使用现有标准的新方法
说到ajax就要说说同步和异步:因为ajax就是为了完成网页异步更新的技术
同步:
全局更新
- 页面刷新
- 在为完成请求时,浏览器处于占用状态,一直缓冲
- 响应效率低
异步:
局部更新
- 浏览器整体不刷新
- 访问时整个浏览器不会处于等待状态,不会占用所有资源
- 响应效率高
ajax的实现方式
核心对象:XmlHttpRequest
现在所有新版的浏览器都支持这个对象
js的ajax是最早出现的,但是由于其实现功能的代码太过于繁杂;
所以我们使用jQuery的ajax:底层封装了JS的ajax代码,做了浏览器的兼容性。程序员仅需要调用简单的JQ的AJAX方法,就可以实现复杂的AJAX功能。少量代码,实现复杂功能
jQuery框架的ajax
ajax操作相关的jquery方法有如下几种,但开发中 经常使用的有三种:
下面就介绍三种常用的请求方式:
1、get请求方式
语法:jQuery.get(url, [data], [callback], [type])
get请求方式代码:
导入jquery的标签库
注意:当返回的状态码为200时,才是调用回调函数。
回调函数中data表示返回的数据,数据的类型为html,根据第四个参数设置
**data只是一个变量
Servlet响应结果:
响应给页面参数的方式:
1.传统的方式
请求转发和重定向
2.ajax的方式
直接通过流响应给页面中的ajax引擎即可,参数会被回调函数中的data收集。
2、post请求方式:
语法:jQuery.post(url, [data], [callback], [type])
post请求方式代码:
以上两种请求方式都是简单的请求功能,如果需要复杂 的ajax设置参数就要用ajax请求方式。
3、ajax请求方式:
语法:jQuery.ajax({[settings]})
其中,settings是一个js字面量形式的对象,格式是{name:value,name:value },常用的name属性名如下:
Ajax格式:
jQuery.ajax({[settings]})
注意:关于回调函数:
- 当响应的状态码为200时,执行seccess函数
- 当响应的状态码为500时,执行error函数
- 两种函数都可以设置变量data接收,success接收的是纯响应的内容
- Error接收的异常信息对象,响应的内容使用responseText属性获取。