javascript - 如何减少 XMLHttpRequest 时滞?

标签 javascript ajax xmlhttprequest

我在注册表单上使用 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/

相关文章:

jquery - 如何获取 JSON 中以逗号分隔的循环文本框值以插入到 jquery 中的 mysql 数据库中

javascript - AJAX 无声地失败

ajax - jQuery Ajax - 向 DOM 添加新元素

mysql - 从 Chrome 扩展插入 MySQL

javascript - MooTools CORS 请求与 native Javascript

javascript - 当我使用 JQuery 创建文本框时,Materialise 日期选择器不起作用

javascript - 将方法作为回调传递时,Coffescript 的 @ 范围不正确

javascript - 如何在单击按钮但使用 jquery 禁用时触发按钮上的操作

javascript - if 语句不能正常运行

cordova - Web 请求中未设置 Referrer header