|
阅读:11371回复:4
loading动画加载
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);
}
}); |
|
最新喜欢: |
|
沙发#
发布于:2018-06-27 15:55
doubleyong:jquery 里的async : true表示同步,false表示异步.不好意思这里纠正一下哦async:true 表示的是异步, false 表示的是同步。 为true时就是异步,就是楼主说的写beforeSend 与complete里就可以了 为false 表示同步,同步直接写在ajax语句的后面就可以了哇? |
|
|
|
板凳#
发布于:2018-06-27 15:36
|
|
|
|
地板#
发布于:2018-06-27 15:24
还是的用true 我开始就是放在success里面的,还是不行 会和beforsend 的一起渲染 直接把beforsend里面的方法给覆盖掉了
|
|
|
4楼#
发布于:2018-06-27 15:09
图片:async.png
jquery 里的async : true表示同步,false表示异步. 但ajax主要用于场景就是异步请求。所以,你的这个可能还不是最好的解决方案 如果异步的话,你可以把动画取消的loading 方法,放到success方法与error方法里 |
|
|
