小明不小
侠客
侠客
  • 最后登录2019-07-15
  • 发帖数10
  • 社区居民
阅读:11368回复:4

loading动画加载

楼主#
更多 发布于:2018-06-27 14:22
ajax的五种状态对于页面进行加载 提升用户体验有很大的帮助,但是我写代码遇到了beforsend的函数进去了,
但是渲染不出来,会和后面complete一起渲染,那样就看不到效果了。最后百度发现了问题的所在,我在ajax,
设置了异步。所以会和complete一起加载,把async设置为true就好了。当然ajax默认的就是true。
$.ajax({
    type: "post",
    contentType: "application/json",
    url: "/Home/GetList",
    beforeSend: function () { 
          $("loading").show();
    },
    success: function (data) { 
        if (data == "Success") {
            // ... 
        }
    },
    complete: function () { 
        $("loading").hide();
    },
    error: function (data) { 
        console.info("error: " + data.responseText);
    }
});

最新喜欢:

lieutenantlieute...
doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
沙发#
发布于:2018-06-27 15:55
doubleyong:jquery 里的async : true表示同步,false表示异步.
但ajax主要用于场景就是异步请求。所以,你的这个可能还不是最好的解决方案


如果异步的话,你可以把动画取消的loading 方法,放到success方法与...
回到原帖
不好意思这里纠正一下哦async:true 表示的是异步, false 表示的是同步。
为true时就是异步,就是楼主说的写beforeSend 与complete里就可以了
为false 表示同步,同步直接写在ajax语句的后面就可以了哇?
知识需要管理,知识需要分享
doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
板凳#
发布于:2018-06-27 15:36
小明不小:还是的用true 我开始就是放在success里面的,还是不行 会和beforsend 的一起渲染 直接把beforsend里面的方法给覆盖掉了回到原帖
那如果是异步的,怎么解决这个问题呢
知识需要管理,知识需要分享
小明不小
侠客
侠客
  • 最后登录2019-07-15
  • 发帖数10
  • 社区居民
地板#
发布于:2018-06-27 15:24
还是的用true 我开始就是放在success里面的,还是不行 会和beforsend 的一起渲染 直接把beforsend里面的方法给覆盖掉了
doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
4楼#
发布于:2018-06-27 15:09

图片:async.png


jquery 里的async : true表示同步,false表示异步.
但ajax主要用于场景就是异步请求。所以,你的这个可能还不是最好的解决方案


如果异步的话,你可以把动画取消的loading 方法,放到success方法与error方法里
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号