花了两天啊,想办法。

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

用JQUERY的deferred异步按顺序调用后端API的更多相关文章

  1. jquery的deferred异步

    推荐方法: var wait = function(dtd){ var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象 var tasks = function( ...

  2. 触碰jQuery:AJAX异步详解

    触碰jQuery:AJAX异步详解 传送门:异步编程系列目录…… 示例源码:触碰jQuery:AJAX异步详解.rar AJAX 全称 Asynchronous JavaScript and XML( ...

  3. jQuery的deferred对象

    应用场景:处理异步任务 看到一篇阮一峰老师的博客挺好的讲的就是jQuery的deferred对象.坦诚讲之前没有怎么用过这个东东呢. 摘其中几点记录下 (1) $.Deferred() 生成一个def ...

  4. 触碰jQuery:AJAX异步详解(转)

    AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1)   使用CSS和X ...

  5. jquery ajax thinkphp异步局部刷新完整流程

    环境:ThinkPHP3.2.3,jQuery3.2   前言: 在一般的网站中,都需要用到jquery或者其他框架(比如angular)来处理前后端数据交互,thinkphp在后台也内置了一些函数用 ...

  6. jQuery之Deferred源码剖析

    一.前言 大约在夏季,我们谈过ES6的Promise(详见here),其实在ES6前jQuery早就有了Promise,也就是我们所知道的Deferred对象,宗旨当然也和ES6的Promise一样, ...

  7. jQuery的deferred对象详解

    jQuery的deferred对象详解请猛击下面的链接 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_ ...

  8. jQuery的deferred对象学习

    #copy { background-color: lightgreen; padding: 15px; margin: 10px } 一.deferred对象简介 deferred对象是jquery ...

  9. jquery 之 Deferred 使用与实现

    观察者模式是开发中经常使用的模式,这个模式由两个主要部分组成:主题和观察者.通过观察者模式,实现主题和观察者的解耦. 主题负责发布内容,而观察者则接收主题发布的内容.通常情况下,观察者都是多个,所以, ...

随机推荐

  1. mysql的优化措施,从sql优化做起

    http://geeksblog.cc/2016/06/11/mysql-optimize/ 优化sql的一般步骤 通过show status了解各种sql的执行频率 定位执行效率低的sql语句 通过 ...

  2. linux 基础学习图解

    http://www.cnblogs.com/xiaoluo501395377/category/465892.html

  3. NoteExpress格式化复制指定输出样式

    在NoteExpress中没有看到为命令“选中的题录右击 => 复制题录 => 格式化复制”指定输出样式的明确配置项,但格式化复制的输出样式也是可以变化了,随细节大面板里的“预览”标签页里 ...

  4. codeforces 505C Mr. Kitayuta, the Treasure Hunter(dp)

    题意:有30001个岛,在一条线上,从左到右编号一次为0到30000.某些岛屿上有些宝石.初始的时候有个人在岛屿0,他将跳到岛屿d,他跳跃的距离为d.如果当前他跳跃的距离为L,他下一次跳跃的距离只能为 ...

  5. CSS background-position随笔

    1.定义和用法 background-position 属性设置背景图像的起始位置. 这个属性设置背景原图像(由 background-image 定义)的位置,背景图像如果要重复,将从这一点开始. ...

  6. 随便说一说bootstrap-table插件

    如题... bootstrap-table插件是一个js的表格插件 找了一下资料发现并没有多少 这里放一下初始化的语法 这里在html中写一个目标table元素 <table id=" ...

  7. Android-The specified child already has a parent. You must call removeView() on the child's parent first.

    这个问题搞了我半天了,网上有很多人说需要找到该控件的parent后,让该parent 先remove需要添加的控件,然后在添加,如: if (view != null) { ViewGroup par ...

  8. Android eclipse - aapt.exe has stopped working.

    今天在修改Android的布局文件的时候,发现每保存一次,就提示: aapt.exe has stopped working(appt.exe已停止工作).很是郁闷,当时Android控制台已经提示错 ...

  9. vsftpd安装指南

    如果您用的是Fedora 或Redhat 系统,可以用下面的命令在线安装: [root@localhost ~]# yum install vsftpd 如果是debian 类系统,可以用apt 来在 ...

  10. mysql的sql分页函数limit使用

    My sql数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为: SELECT * FROM 表名称 LIMIT M, ...