简介
Asynchronous JavaScript and XML (异步的 JavaScript 和 XML)。是指一种创建交互式网页应用的网页开发技术。
用js通过http协议向服务器发送xml数据。目前json比较流行
AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
Ajax:一种不用刷新整个页面便可与服务器通讯的办法
优缺点
优点
AJAX使用Javascript技术向服务器发送异步请求
AJAX无须刷新整个页面
因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高
缺点
AJAX并不适合所有场景,很多时候还是要使用同步交互
AJAX虽然提高了用户体验,但无形中向服务器发送的请求次数增多了,导致服务器压力增大
因为AJAX是在浏览器中使用Javascript技术完成的,所以还需要处理浏览器兼容性问题
jQuery 与 AJAX
jQuery 提供多个与 AJAX 有关的方法
通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。
如果没有 jQuery,AJAX 编程难度比较高。
编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同。这意味着您必须编写额外的代码对浏览器进行测试。
$.get()
$.get() 方法通过 HTTP GET 请求从服务器上请求数据。
语法:
$.get(URL,data,callback,dataType);
必需的 URL 参数规定您希望请求的 URL。
可选的 callback 参数是请求成功后所执行的函数名。
有两个参数,一个是返回的数据,一个是执行是否成功
$.post()
$.post() 方法通过 HTTP POST 请求从服务器上请求数据。
语法:
$.post(URL,data,callback,dataType);
必需的 URL 参数规定您希望请求的 URL。
可选的 data 参数规定连同请求发送的数据。
可选的 callback 参数是请求成功后所执行的函数名。
ajax() 方法
$.ajax()是jQuery中的最底层的方法,该方法只有一个参数,但是这个对象里面包括了该方法所需要的请求设置以及回调函数等信息,参数以key/value的形式存在,所有参数都是可选,常用参数为:
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type: 要求为String类型的参数,请求方式(post或get)默认为get。
data: 要求为Object或String类型的参数,发送到服务器的数据。
dataType: 要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。重要参数json:返回JSON数据。
async:类型:Boolean。默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
contentType:默认值: “application/x-www-form-urlencoded”。发送信息至服务器时内容编码类型。
重要参数:“application/json“ json格式传输
complete:要求为Function类型的参数,请求完成后调用的回调函数(请求成功或失败时均调用)。
success:要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
(1)由服务器返回,并根据dataType参数进行处理后的数据。
(2)描述状态的字符串。
error:要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。