[英]How to reduce XMLHttpRequest time lag?
我在注册表单上使用XMLHttpRequest来查看他们输入的用户名是否已被使用。 该脚本可以正常运行,但是我注意到发出请求时会有一些时间延迟-发送请求后,该网页被冻结了一秒钟。
有没有办法让请求“在后台”并且不会在前端造成任何滞后? 我喜欢Twitter的实现:它在搜索数据库时显示一个旋转的沙漏图标。 我如何得到类似的东西?
您要使用异步XHR-当前正在执行同步请求,因此页面必须冻结,直到加载完成。 异步XHR调用随负载状态更新一起提供的callbck函数。
如果有记忆,您只需要做
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) loadFinished();
}
xhr.open(requestType, url, true);
如果为true
使请求异步。
您需要指定XMLHttpRequest在后台异步运行。 然后,您可以提供回调函数,以便用户可以继续浏览直到操作完成。
许多站点在等待操作返回时仅显示动画GIF,这可能会给用户留下您正在寻找的印象,因为它看起来正在发生某些事情。 您可以从http://www.ajaxload.info/轻松设计和下载这些AJAX旋转指示器之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.