我在注册表单上使用 XMLHttpRequest 来查看他们输入的用户名是否已被占用。脚本运行良好,但我注意到发出请求时有一些时间延迟 - 发送请求后网页卡住了一秒钟。
有没有办法让请求“在后台”并且不会在前端造成任何延迟?我喜欢 Twitter 的实现:它在搜索数据库时显示一个旋转的沙漏图标。我如何获得类似的东西?
最佳答案
您想使用异步 XHR——目前您正在执行同步请求,因此页面必须卡住,直到加载完成。异步 XHR 调用您提供的回调函数来加载状态更新。
如果没记错的话你只需要做
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) loadFinished();
}
xhr.open(requestType, url, true);
true
使请求异步。
关于javascript - 如何减少 XMLHttpRequest 时滞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/924005/