六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 26|回复: 0

jquery的ajax全局事件详解

[复制链接]

升级  69.5%

780

主题

780

主题

780

主题

探花

Rank: 6Rank: 6

积分
2390
 楼主| 发表于 2013-1-29 10:49:03 | 显示全部楼层 |阅读模式
<span style="border-collapse: separate; color: #000000; font-family: Simsun; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; white-space: normal; font-size: medium;" class="Apple-style-span"><span style="color: #333333; font-size: 14px; line-height: 28px;" class="Apple-style-span">jquery在ajax方面是非常强大和方便的,以下是jquery进行ajax请求时方法模板:
$.ajax({
type: "get",
url: "",
data : {},
beforeSend : function(){},
success : function(data){},
complete : function(){}
});
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回调函数,在回调函数中加上处理提示框。
使用全局事件的做法是:
$(document).ajaxStart(onStart)
.ajaxComplete(onComplete)
.ajaxSuccess(onSuccess);

function onStart(event) {
//.....
}
function onComplete(event, xhr, settings) {
//.....
}
function onSuccess(event, xhr, settings) {
//.....
}

<div style="margin: 0px 0px 5px; padding: 0px; background-color: #f9fbfc; border: 1px solid #c3ced9; width: auto; height: auto; overflow: auto; text-align: left; font-family: Fixedsys,'BitStream Vera Sans Mono','Courier New',Courier,monospace;" class="hl-surround">
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表