当前位置: 首页 > 面试题库 >

设置AJAX进度栏

唐彦
2023-03-14
问题内容

好的,我是AJAX的新手。IE知道请求的生命周期,因此使用了ActiveXObject这样的东西。

但是现在我面临一个现实世界的问题。我有一个在后台运行的servlet,它执行许多任务,并且我想显示一个进度条,以显示流程的执行位置,并还显示实际发生的事情。

到目前为止,在服务器端,我可以计算将要开始的进程数,并且可以轻松地添加一个计数器,以便在每个进程完成后递增-因此使我能够找到自己想要显示的百分比。

关于我应该输出从增量等收集的数据的位置,我不确定到目前为止在处理java类中它是否休眠为2个整数。

任何帮助将非常感激。

到目前为止,我已经看到了,在此,我想这就是什么样的即时通讯瞄准。

干杯。


问题答案:

基本上,您希望在HTTP会话中(或在涉及整个应用程序任务的Servlet上下文中)存储对任务的引用以及任务本身的进度。这样,您必须能够在每个HTTP请求上检索有关它的信息。

在JavaScript中,您可以在特定的超时时间或特定的时间间隔后使用setTimeout()setInterval()执行函数。您可以使用它重复触发Ajax请求,以请求进度的当前状态。一旦检索到状态,例如以最大值为100的整数(百分比)的形式,只需更新一些表示进度条的div和/或相应的HTML
DOM树中的百分比文本。

jQuery在引发ajaxical请求以及像这样遍历/操纵HTML
DOM树时非常有帮助。它最大程度地减少了代码冗长和跨浏览器兼容性的麻烦。

想象一下doGet()servlet的如下:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String processId = "longProcess_" + request.getParameter("processId");
    LongProcess longProcess = (LongProcess) request.getSession().getAttribute(processId);
    int progress = longProcess.getProgress();

    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write(String.valueOf(progress));
}

然后,您可以像下面这样使用它:

function checkProgress() {
    $.getJSON('progressServlet?processId=someid', function(progress) {
        $('#progress').text(progress + "%");
        $('#progress .bar').width(progress);

        if (parseInt(progress) < 100) {
            setTimeout(checkProgress, 1000); // Checks again after one second.
        }
    });
}


 类似资料:
  • 问题内容: 我想为服务器端任务创建进度条(用php编写) 出于学习目的,示例和任务将非常简单。我将在客户端页面上有一个文本字段,读取a ,将其与ajax一起传递给php脚本,并使其计算所有数字的总和(简单的任务是花费大量时间,只是为了模拟一些服务器端工作) 在.html文件中,我将创建一个计时器,该计时器每秒钟会调用一次函数,以获取for循环所需的索引并更新进度条。 我的问题是: 是否可能在同一个

  • 我想让水平进度条从0移动到100。我在布局中添加了这段代码。我应该怎么做才能移动这个进度条?

  • 问题内容: 我非常了解Javascript,AJAX和JQuery等,并且我相信可以使用PHP,AJAX和Javascript等创建上传进度栏。 我很惊讶如何获得上传的大小(意思是我想知道的每一秒,上传了多少文件,还有多少剩余,我认为应该可以使用AJAX等)文件正在上传中。 这是PHP手册的链接,但我不明白: http //php.net/manual/en/session.upload- pro

  • 本文向大家介绍PHP设置进度条的方法,包括了PHP设置进度条的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP设置进度条的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的php程序设计有所帮助。

  • 问题内容: 我想获取我的AJAX请求的进度-到目前为止已下载了多少文件。例如,我正在使用AJAX下载大图片,因此可以将内容放在DATA URL中(这可能不是最好的方法,这只是一个示例。) 因此,我向无法控制的某些主机发出了AJAX请求(flickr),并将进度报告给用户。如果没有服务器端脚本或类似的东西,我找不到解决方法。最好的解决方案是使用JQuery,因为那是我在网站上使用的。谢谢!以撒 问题

  • 问题内容: 我有一个页面,它使用jquery的ajax函数发送一些消息。 最多可能要发送5万条消息。 显然,这可能需要一些时间。 我想要做的是显示带有正在发送的消息的进度条。 后端是PHP。 我怎样才能做到这一点? 我的解决方案:通过原始ajax调用中的唯一标识符发送。 该标识符与完成百分比一起存储在数据库(或以标识符等命名的文件)中。 随着原始脚本的进行更新。 设置一个名为 该函数对读取百分比的