何时将成功回调函数与 jQuery Ajax 调用分离?
Oct 18, 2024 pm 07:18 PM从 jQuery Ajax 调用解耦成功回调函数
使用 jQuery ajax 从服务器检索数据时,通常的做法是定义成功.ajax() 块中的回调函数。这将回调处理与 AJAX 调用紧密耦合,限制了灵活性和可重用性。
要在 .ajax() 块之外定义成功回调,通常需要声明一个用于存储返回数据的变量。但是,建议使用延迟对象的更现代方法。
自 jQuery 1.5 以来,延迟对象提供了更好的方法来处理 AJAX 调用等异步操作。以下是实现这一目标的方法:
function getData() { return $.ajax({ url : 'example.com', type: 'GET' }); } function handleData(data /* , textStatus, jqXHR */ ) { alert(data); //do some stuff } getData().done(handleData);
登录后复制
这种方法将回调处理与 AJAX 调用解耦,从而轻松实现多个回调、错误处理和异步事件同步。
对于实例:
// Timer for demo purposes, resolves itself after 5 seconds var timer = $.Deferred(); setTimeout(timer.resolve, 5000); // Get data using AJAX and attach done and error handlers var ajax = getData().done(handleData).fail(error); // Wait for both AJAX and timer to finish before continuing $.when(timer, ajax).done(function() { // Both AJAX and 5s timer have finished }); // Additional callbacks can be added even after AJAX call finishes ajax.done(function(data) { //Do some stuff with data });
登录后复制
这展示了延迟对象的强大功能,可以更好地控制 jQuery 应用程序中的异步操作并提高灵活性。
以上是何时将成功回调函数与 jQuery Ajax 调用分离?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)