Javascript 如何检查我的AJAX调用的状态?
我有一个web应用程序,我在其中调用AJAX来获取一些数据。数据大小可以从100 Kb到1 MB不等。另外,这个电话需要很多时间,因为我需要在后端进行大量处理 我遇到了两个基本问题: 1) 这需要很多时间,所以我需要向最终用户展示AJAX调用的一些状态,这样他们就不会感到沮丧。我在想,是否有一种方法可以在间隔一段时间后进行AJAX调用,以检查初始AJAX调用的进度,或者您可以提出一些建议 2) 当收到数据时,它有时甚至会挂起浏览器选项卡一两分钟,因为我正在通过JavaScript绘制页面。有没有办法停止或减少这种悬挂时间 任何建议都会很有帮助。谢谢Javascript 如何检查我的AJAX调用的状态?,javascript,html,ajax,Javascript,Html,Ajax,我有一个web应用程序,我在其中调用AJAX来获取一些数据。数据大小可以从100 Kb到1 MB不等。另外,这个电话需要很多时间,因为我需要在后端进行大量处理 我遇到了两个基本问题: 1) 这需要很多时间,所以我需要向最终用户展示AJAX调用的一些状态,这样他们就不会感到沮丧。我在想,是否有一种方法可以在间隔一段时间后进行AJAX调用,以检查初始AJAX调用的进度,或者您可以提出一些建议 2) 当收到数据时,它有时甚至会挂起浏览器选项卡一两分钟,因为我正在通过JavaScript绘制页面。有没有
//Step 1 - do some thing
Response.Write("<script>progress = '10'; progressText = 'Completed step 1'; ");
Response.Write(" updateProgress(); </script>");
Response.Flush();
//Step 2 - do some thing
Response.Write("<script>progress = '30'; progressText = 'Completed step 2'; ");
Response.Write(" updateProgress(); </script>");
Response.Flush();
updateProgress()函数在一开始就被刷新了好的,我找到了解决方法。我能够检查进度,而不必实际绘制任何iFrame。我只是创建了一个会话变量,并在服务器端不断更新它的值。我将超时函数设置为每秒触发一次,并通过进行AJAX调用来检查会话变量的值。我知道这会在服务器上增加一些额外的负载,但我现在不知道还有什么其他方法。欢迎提供更多建议。您能否提供一些示例,说明如何使用iframe刷新进度?我真的很需要一个通关。一个向上投票会有帮助的。。。不管怎么说,当您想加载一些信息而不是使用传统的ajax时,请尝试将其加载到网页中,这就是使用iframe需要做的事情。。。somewebpage.aspx,其中的.aspx文件或您使用的任何其他文件(php等)可以不断以json或javascript格式推送信息,您的代码可以在客户端选择这些信息。谢谢!如果解决方案对您有效,请告诉我,我可能会在服务器端进行修改,但更多的是在服务器端。因此,我的理解是,可能没有办法通知用户进度。这个iframe基本上有助于逐渐加载内容,这可能会阻止系统挂起。但它仍然不能解决我的全部问题。我会继续探索。谢谢。不是真的,iframe中的内容可以用来通知用户进度。。。让我编辑我的答案,以包含更多关于进度更新的详细信息
function updateProgress()
{
//update parent window/container on the progress which will show an visual indicator of the progress
}