用JQUERY的deferred异步按顺序调用后端API

花了两天啊,想办法。

顺便,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>")
                    }
                });
            });

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值