Ajax
Ajax 全称是 asynchronous javascript and xml,并不是新的编程语言,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,从而创建快速动态网页的技术。
Ajax过程
- 创建XMLHttpRequest对象,也就是创建一个异步调用对象
- 创建一个新的HTTP请求,并指定其请求的方法、URL及验证信息
- 设置响应 HTTP 请求状态变化的函数
- 发送 HTTP 请求
- 获取异步调用返回的数据
- 使用 JavaScript 和 DOM 实现局部刷新
优缺点
- 优点:可以使得页面不重载全部内容的情况下加载局部内容,降低数据传输量,避免用户不断刷新或者跳转页面,提高用户体验
- 缺点:对搜索引擎不友好,要实现ajax下的前进后退功能成本较大;跨域问题限制
jQuery 中的 Ajax
全局ajax事件处理器
jQuery 库支持完整的 Ajax 操作。这里所包含的所有函数和方法用于从服务端加载数据,并且不会导致页面刷新。
$(document).ajaxComplete(handler(event, XMLHttpRequest, ajaxOptions))
当Ajax请求完成后注册一个回调函数。- 每当一个Ajax请求完成,jQuery就会触发ajaxComplete事件,在这个时间点所有处理函数会使用.ajaxComplete()方法注册并执行。
- 从 jQuery 1.8 开始,.ajaxComplete()方法只能绑定到 document元素。
- 如果global选项设置为false,调用或.ajaxSetup(),.ajaxComplete()方法将不会被触发。
- 类似的还有:请求出错
ajaxError()
、请求发送前ajaxSend()
、请求刚开始ajaxStart()
、请求完成时ajaxStop()
、请求成功完成时ajaxSuccess()