前端页面ajax请求过程中的【加载中】的问题?

场景:
用户点击某个按钮,js会通过ajax请求数据出来,在这个过程中,一般良好的用户体验是会出现一个【加载中】的文字或图片的提示,等待数据请求过来再隐藏提示,展示数据。

但,如果用户的网络环境或者后台服务器网络不差,这个【加载中】的提示刚弹出来,数据就请求完成了,这样的话页面就会~闪~一下,用户体验反而不那么友好了。

如果如果取消这个提示,二遇到用户的网络环境或者后台服务器网络不好的情况,页面空白一半天才出来数据,这个过程会让用户觉得页面没有处理请求,这样的体验也不好。

so,怎么破?

阅读 7.2k
6 个回答

设定一个“加载中”持续时间的最小值。

首先,根据经验得到一个不会出现“闪一下”的现象的最小值,例如500ms,记为Tmin

然后,在收到响应数据后,计算一下本次请求用的时间t。如果t >= Tmin,则隐藏/关闭“加载中”;否则,过Tmin - t时间后再隐藏/关闭。

延时关闭遮罩层,但是这个延时不阻塞页面的逻辑处理与页面的展现。

点击了按钮后,可以先显示加载中,过一会再请求数据,但网慢了就不好了。麻烦一点,可以点击后就请求,然后判断请求时间,时间短的话,就延时几秒显示,否则直接显示。

把【加载中】的提示做成延迟一些,ajax超过多少时间未回调就显示【加载中】

新手上路,请多包涵

延时600ms差不多

我记得当年是强行延时两秒再请求。。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题