花了两天啊,想办法。
顺便,DJANGO分页的东东也熟悉了下。
如果不用最新的deferred这个东东,那我们以前传统的链式异步调用代码很难看,且长。
以下这个东东未作优化代码封装。
this的参数用非VAR呈现全局调用。
且加了AJAX的前处理及结束处理。让网页为用户呈现升级信息。
var _self = this; promiseA = $.ajax({ url:'{% url "cp-dir" %}', type: 'post', data:{ tgt : tgt, }, dataType: 'json', beforeSend: function(){ $(_self).attr('disabled',"true"); $(_self).append(" <i class='uk-icon-cog uk-icon-spin'></i>"); }, error: function(){ alert('Error loading json document'); }, success: function(json){ UIkit.notify("cp-dir", {status:'info', timeout:1000}); var json = eval(json); $.each(json, function (index, item) { UIkit.notify(json[index], {status:'info', timeout:1000}); }); } }); promiseB = promiseA.then(function(){ return $.ajax({ url:'{% url "AUTO_DEPLOY:cmd-run" %}', type: 'post', data:{ tgt : tgt, }, dataType: 'json', error: function(){ alert('Error loading json document'); }, success: function(json){ UIkit.notify("cmd-run", {status:'info', timeout:1000}); var json = eval(json); $.each(json, function (index, item) { UIkit.notify(json[index], {status:'info', timeout:1000}); }); }, complete: function(){ $(_self).children('i').remove(); $(_self).append(" <i class='uk-icon-check'></i>") } }); });