背景 - 我有一个Web应用程序的请求需要几秒钟。如何在web服务器完成http请求的同时在网页上显示“正在等待”指示符?
问题 - 如何在用户发起请求后向用户显示“等待”类型指示符(例如微调器),直到实际的HTTP请求响应从服务器返回为止?
笔记 - 我假设这是一个通用的Web开发问题,但是我的Web应用程序是一个“Ruby on Rails”应用程序。
感谢
背景 - 我有一个Web应用程序的请求需要几秒钟。如何在web服务器完成http请求的同时在网页上显示“正在等待”指示符?
问题 - 如何在用户发起请求后向用户显示“等待”类型指示符(例如微调器),直到实际的HTTP请求响应从服务器返回为止?
笔记 - 我假设这是一个通用的Web开发问题,但是我的Web应用程序是一个“Ruby on Rails”应用程序。
感谢
通常情况下,你会添加一个新的DOM对象(或显示现有)的页面,有可能通过jQuery或其他一些库中,显示的微调,然后在任何回调被触发当AJAX请求完成时;你会再次隐藏微调对象。
首先,你有一个隐藏的div与微调图像,当你发送http请求时,让div可见,当你收到响应时,再次隐藏它。
以前的海报是正确的,你可以显示一个动画,但这并不适合所有情况。如果你只是想改变光标,在JavaScript中,您可以在请求开始这样做:
document.body.style.cursor = "wait";
和请求后完成:
document.body.style.cursor = "default";
希望帮助... 斯科特。
如此有效地使用Javascript来改变页面之前启动http请求正确?也就是说,你不能使用正常的链接,而必须通过java-script编排两步过程。我有这个正确吗? – Greg 2010-02-24 02:30:06
非常。由于您不希望浏览器立即开始加载新页面(但仅提出请求,但现在保持在同一页面上),因此不能只使用直接的url链接。 – Amber 2010-02-24 04:30:11