jquery在ajax方面是很是强大和方便的,如下是jquery进行ajax请求时方法模板: jquery
- $.ajax({
- type: "get",
- url: "",
- data : {},
- beforeSend : function(){
-
- },
- success : function(data){
-
- },
- complete : function(){
-
- }
- });
关于$.ajax()方法的使用,不是明河写这篇文章的目的,今天明河主要讲解当进行ajax请求时整个完整的事件流程。 ajax
jquery的ajax方法的所有全局事件:
- ajaxStart:ajax请求开始前
- ajaxSend:ajax请求时
- ajaxSuccess:ajax获取数据后
- ajaxComplete:ajax请求完成时
- ajaxError:ajax请求发生错误后
- ajaxStop:ajax请求中止后
当你使用jquery的ajax方法,无论是$.ajax()、$.get()、$.load()、$.getJSON()等都会默认触发全局事件,只是一般不绑定全局事件,但实际上这些全局事件很是有用处。 函数
ajax方法的全局事件的用处
ajax全局事件,有个典型的应用场合:
你的页面存在多个甚至为数很多的ajax请求,可是这些ajax请求都有相同的消息机制。ajax请求开始前显示一个提示框,提示“正在读取数据“;ajax请求成功时提示框显示“数据获取成功”;ajax请求结束后隐藏提示框。
不使用全局事件的作法是:
给$.ajax()加上beforeSend、success、complete回调函数,在回调函数中加上处理提示框。
使用全局事件的作法是: url
- $(document).ajaxStart(onStart)
- .ajaxComplete(onComplete)
- .ajaxSuccess(onSuccess);
-
- function onStart(event) {
- //.....
- }
- function onComplete(event, xhr, settings) {
- //.....
- }
- function onSuccess(event, xhr, settings) {
- //.....
- }
ajax方法完整事件流
为了更直观的说明,明河使用Axure画了二个流程图,画的很差还请见谅,O(∩_∩)O

spa