Javascript 如何减少XMLHttpRequest时间延迟?
我在注册表单上使用XMLHttpRequest来查看他们输入的用户名是否已经被使用。脚本运行良好,但我注意到在发出请求时有一些时间延迟-发送请求后,网页会冻结一秒钟Javascript 如何减少XMLHttpRequest时间延迟?,javascript,ajax,xmlhttprequest,Javascript,Ajax,Xmlhttprequest,我在注册表单上使用XMLHttpRequest来查看他们输入的用户名是否已经被使用。脚本运行良好,但我注意到在发出请求时有一些时间延迟-发送请求后,网页会冻结一秒钟 有没有一种方法可以让请求“在后台”,而不会在前端造成任何延迟?我喜欢Twitter的实现:它在搜索数据库时显示一个旋转的沙漏图标。如何获得类似的结果?您希望使用异步XHR——目前您正在执行同步请求,因此页面必须冻结,直到加载完成。异步XHR调用加载状态更新时提供的callbck函数 如果记忆有用,你只需要做 xhr.onready
有没有一种方法可以让请求“在后台”,而不会在前端造成任何延迟?我喜欢Twitter的实现:它在搜索数据库时显示一个旋转的沙漏图标。如何获得类似的结果?您希望使用异步XHR——目前您正在执行同步请求,因此页面必须冻结,直到加载完成。异步XHR调用加载状态更新时提供的callbck函数 如果记忆有用,你只需要做
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) loadFinished();
}
xhr.open(requestType, url, true);
其中
true
使请求异步。您想使用异步XHR——目前您正在执行同步请求,因此页面必须冻结,直到加载完成。异步XHR调用加载状态更新时提供的callbck函数
如果记忆有用,你只需要做
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) loadFinished();
}
xhr.open(requestType, url, true);
其中
true
使请求异步。您需要指定XMLHttpRequest在后台异步运行。然后,您可以提供回调函数,以便用户可以继续浏览,直到操作完成
许多网站只是在等待操作返回时显示一个动画GIF,这可能会给用户一种你正在寻找的印象,因为它看起来好像发生了什么事情。您可以在轻松地设计和下载其中一个AJAX旋转指示器。您需要指定XMLHttpRequest在后台异步运行。然后,您可以提供回调函数,以便用户可以继续浏览,直到操作完成 许多网站只是在等待操作返回时显示一个动画GIF,这可能会给用户一种你正在寻找的印象,因为它看起来好像发生了什么事情。您可以在轻松地设计和下载其中一个AJAX旋转指示器。Errr否,默认情况下,XHR是同步的,它在等待加载时会阻塞。对——我只是在您评论时修复了这个问题。谢谢。不,默认情况下,XHR是同步的,它在等待加载时会阻塞。对——我只是在您评论时修复了这个问题。谢谢