[jquery-ajax] jquery ajax 三种情况对比
2015-10-09 15:41
591 查看
<button class="btn1">async:false</button> <button class="btn2">setTimeout</button> <button class="btn3">deferred</button> <img class="loadingicon" style="position:fixed;left:50%;top:50%;margin-left:-16px;margin-top:-16px;display:none;" src="loading.gif" alt="正在加载" /> <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> --> <script src="//code.jquery.com/jquery-1.11.3.min.js"></script> <script> function getData1(){ var result; $.ajax({ url : 'p.php', async : false, success: function(data){ result = data; } }); return result; } $('.btn1').click(function(){ $('.loadingicon').show(); var data = getData1(); $('.loadingicon').hide(); alert(data); }); $('.btn2').click(function(){ $('.loadingicon').show(); setTimeout(function(){ $.ajax({ url : 'p.php', async : false, success: function(data){ $('.loadingicon').hide(); alert(data); } }); }, 0); }); function getData3(){ var defer = $.Deferred(); $.ajax({ url : 'p.php', //async : false, success: function(data){ defer.resolve(data) } }); return defer.promise(); } $('.btn3').click(function(){ $('.loadingicon').show(); $.when(getData3()).done(function(data){ $('.loadingicon').hide(); alert(data); }); });</script>
相关文章推荐
- jquery ajax post格式
- a标签的onclick事件与href详解
- JQuery EasyUI DataGrid 纵向(转置)表格插件 TransposedView
- JQuery报错Uncaught TypeError: Illegal invocation
- jQuery的Deferred对象测试笔记以及源码分析
- JQuery实现在页面中央弹出带有动画透明的弹出层
- $().each() 与 $.each()区别,以及 jquery ajax 应用
- jQuery学习日记-------第一篇(jQuery介绍)
- JqueryEasyUI的DataGrid数据查询问题
- jQuery.ajaxSetup() 方法设置全局 AJAX 默认选项。
- 解决jquery 动态生成的元素的事件无法绑定
- 2015-10-06 认识jQuery1
- 窗口中各模块的切换效果,使用jquery实现
- PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
- jquery 通知页面变化
- jQuery+PHP实现可编辑表格字段内容并实时保存
- jQuery往返城市和日期查询实例讲解
- jQuery获取循环出来的DOM节点
- jQuery EasyUI使用教程之创建一个课程表
- MVC使用jQuery从视图向控制器传递Model的2种方法