Deferred解决JS同步问题
测试脚本:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="js/jquery-1.7.2.min.js"></script> <script type="text/javascript"> function getData3(){ var defer = $.Deferred(); $.ajax({ url: ‘v.aspx‘, //async : false, cache: false, success: function (data) { defer.resolve(data) } }); return defer.promise(); } $(document).ready(function () { $(‘.loadingicon‘).hide(); $(‘#statm‘).click(function () { $(‘.loadingicon‘).show(); $.when(getData3()).done(function(data){ $(‘.loadingicon‘).hide(); alert(data); }); }); var iii = 0; setInterval(function () { iii += 1; $("#sp").text(iii); }, 1000); }); </script> </head> <body> <form id="form1" runat="server"> <input type="button" value="button" id="statm" /> <div class=".loadingicon">正在获取</div> <span id="sp"></span> </form> </body> </html>
参考页面:
http://www.cnblogs.com/aaronjs/p/3348569.html
http://www.111cn.net/wy/jquery/61811.htm
http://www.oschina.net/question/157182_49050
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。