ajax写回调函数,jQuery ajax成功回调函数定义

Alnitak..

186

自jQuery 1.5(2011年1月)以来这样做的"新"方法是使用延迟对象而不是传递success回调.您应该返回的结果$.ajax,然后使用.done,.fail等方法来添加回调的外部$.ajax调用.

function getData() {

return $.ajax({

url : 'example.com',

type: 'GET'

});

}

function handleData(data /* , textStatus, jqXHR */ ) {

alert(data);

//do some stuff

}

getData().done(handleData);

这将回调处理与AJAX处理分离,允许您添加多个回调,故障回调等,而无需修改原始getData()函数.将AJAX功能与之后要完成的操作集分开是一件好事!.

延迟还允许更容易同步多个异步事件,这是您不能轻易做到的 success:

例如,我可以添加多个回调,一个错误处理程序,并在继续之前等待计时器过去:

// a trivial timer, just for demo purposes -

// it resolves itself after 5 seconds

var timer = $.Deferred();

setTimeout(timer.resolve, 5000);

// add a done handler _and_ an `error:` handler, even though `getData`

// didn't directly expose that functionality

var ajax = getData().done(handleData).fail(error);

$.when(timer, ajax).done(function() {

// this won't be called until *both* the AJAX and the 5s timer have finished

});

ajax.done(function(data) {

// you can add additional callbacks too, even if the AJAX call

// already finished

});

jQuery的其他部分也使用延迟对象 - 您可以非常轻松地将jQuery动画与其他异步操作同步.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值