我有一个站点,我想检查几个环境的登录凭证,但同时,显示一个加载gif。
问题是,如果我让ajax同步或者,
async: false,然后,页面的其余部分暂停,直到检查凭据为止。
我尝试将ajax调用切换回异步,它会过早地显示一个错误的负错误,用户没有登录,因为它还没有完成所有环境的检查。
我还尝试了一种创可贴的解决方案
setTimeout(loginCheckFunction, 600)但这是任意的计时,如果用户连接速度慢,错误将持续存在。
对于如何在不等待同步Ajax完成的情况下运行某些部分,有什么想法吗?谢谢!
编辑:我认为我的问题在很大程度上被这个问题解决了:如何在纯JavaScript中进行“同步”AJAX调用时显示“加载”?
编辑2:我绕开了这个问题,用上面的答案回答了上面的问题。我给出了一个非常小的setTimeout函数,用于父函数开始调用基于ajax的同步登录检查,在此期间,可以启动“加载”gif,并在ajax运行时同时查看。然而,根据给出的答案,在最严格的意义上,它不是同时运行的,浏览器只是提供了这种错觉。对于将来可能遇到类似问题的人,我从setTimeout应用到子函数,到setTimeout在父函数上应用了一个级别。
发布于 2014-09-23 20:40:00
您是否尝试过在另一个ajax调用结束后执行一个ajax调用?首先,显示加载屏幕,然后逐个结束ajax调用。在最后一个电话中,你隐藏了你的装载。通过这种方式,您将所有ajax调用并行化,验证每一次传递。
可以使用Ajax队列插件。
https://stackoverflow.com/questions/26003034
复制相似问题