houyujie745839
houyujie745839
采纳率0%
2016-07-20 06:32 阅读 969

jquery 同步 异步 问题

function pay(){
showToast();//显示遮罩
$.ajax({
type:'post',//可选get
url:url,
data:data,
dataType:'json',
async:true ,
success:function(data,status){
hidenToast();//隐藏遮罩

},
error:function(xhr,s1,s2){
hidenToast();//隐藏遮罩

}
});
}
function showToast(){
div.show();
}
function hidenToast(){
div.hide();
}

这段代码在async这个属性改为true异步时 遮罩是可以弹出 。但是改为false 同步时 遮罩无法弹出 , 但是debugger 调试时 可以弹出 。虽然实现了效果 但是有点理解不了 。求指教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • showbo GoCityPass新加坡曼谷通票 2016-07-20 08:03

    同步会挂起其他js代码执行,你的动画什么的都没有反应,如果是显示遮盖层直接显示而不是setTImeout之类动态显示出来什么的应该没有问题,如果淡入淡出之类的会被挂起执行

    点赞 1 评论 复制链接分享
  • CSDNXIAOS Robot-S 2016-07-20 06:42

    入手JS这段时间各种奇葩bug都遇到了,感觉JS每一步都得处理好,必须想明白才可以,要不然你开发的东西会是一团渣渣。
        用户添加页面时有时候需要加载已有数据,但当你未加载完成就关闭添加页面窗口就会出现报错,提示“过快操作会导致页面异常”,经查阅和请教后,只需要在ajax的内部加一句 async: false,在查阅一些资料才知道,jquery里面async默认是true,就意味着是异步加载......
    答案就在这里:JQuery async同步异步问题
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    点赞 评论 复制链接分享

相关推荐