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

在PHP中使用jQuery / Ajax显示当前进度

李法
2023-03-14
问题内容

简短而有趣: 寻找一种方法来调用PHP文件并使用jQuery和/或Ajax显示进度。调用PHP文件upgrade.php?step =
1,然后将返回的输出附加到#upgradestatus。完成之后,将调用upgrade.php?step = 2并附加输出,直到完成指定数量的步骤。

说明:
我正在尝试为在PHP中运行的软件创建一个插件。该插件将调用PHP文件中的每个步骤以升级每个文件,等等。我希望能够在页面上显示进度,而无需重新加载它以向用户显示已完成的操作以及处理的位置。

使用我的PHP思想过程,我想创建类似以下内容的东西:

for (var s=0; s<2; s++){
    $('#upgraderesult').load('upgrade.php', 'step=' + s, function() {
        $('#upgradestatus').append('Upgrade Step ' + s + ' Completed');
    });
}

我也尝试使用.ajax(),并且通过这两种方法,我很快了解到,作为异步对象,要弄清楚这一点会有些棘手。

我的想法是创建一个FOR循环,该循环将循环执行所有步骤。然后,该for循环将生成必要的jQuery / Ajax代码,该代码将与状态消息一起追加到现有div

Complete”。

因此,现在我陷入了困境,并认为我可能只需要使用PHP即可生成正确的jQuery /
Ajax代码,但我想检查一下是否有人对如何以其他方式完成此操作有任何意见或建议,甚至我在想这个完全错误。

我所希望的是能够根据该过程的步骤来调用PHP文件,然后在浏览器中向用户显示进度…事实证明这比我想象的要困难得多。

感谢您的任何意见或建议/建议,我非常感谢!


问题答案:

每个人都感谢您的输入,在Freenode #jQuery中一些人的帮助下,我们提出了一个效果很好的解决方案:

var numSteps = 2;
function loadStepAjax(s) {
    $.ajax('upgrade.php', {
        type: 'GET',
        dataType: 'html',
        data: {
           step: s
        },
        success: function(data) {
            $('#upgradestatus').append(data);
            if (s < numSteps)
                loadStepAjax(s+1);
            }
     });
}

然后调用该函数:

loadStepAjax(1);

我们创建了一个函数loadStepAjax,而不是使用FOR循环,然后在回调中使用了IF语句来确定是否再次调用该函数。

总是很简单,不是吗!谢谢大家的投入,对此深表感谢。



 类似资料:
  • 这是我的array.php,json数据来自数据库,我从下面的脚本中得到了一个完美的输出 **array.php数据输出ex:** } 这是我的Ajax函数,在这里我从array.php中缩放数据 var data=new google.visualization.dataTable(json.parse(jsonData));var选项={title:'我的日常活动‘};var chart=ne

  • 所以我使用这个代码来显示菜单中的深度3元素(wordpress): 问题是,当我悬停在一个带有子菜单的元素上时,所有带有子菜单的元素都会显示出来。 问题是: 如何只显示一个子菜单,我在我的鼠标悬停的时刻? 很抱歉添加了标记,无法添加“jquery” 编辑: HTML:

  • 问题内容: 我有一个基本页面,顶部有一个导航栏,还有一个包装器主体。 每当用户单击导航链接时,它都会用于将页面内容加载到包装div中。 来自的返回值示例: 如您所见,我在上显示了一个Bootstrap进度条,在我调用的页面上,加载每个项目后,我都会修改进度条的值。 这在Firefox上效果很好,在等待页面加载时可以看到进度条,但在Chrome或IE上不起作用。 有一个更好的方法吗?我是正确执行此操

  • 问题内容: 已关闭 。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我正在寻找一个使用jQuery,PHP和MySQL的很好的Ajax分页教程。我遇到的那些不好。 因此,如果有人可以推荐一个好的网站/教程,那就太好了。谢谢。 编辑 这是一些不好的教程。 网站1 网站2 网站3 问题答案: 这是 CakePHP的 一个教程

  • 本文向大家介绍jQuery Ajax前后端使用JSON进行交互示例,包括了jQuery Ajax前后端使用JSON进行交互示例的使用技巧和注意事项,需要的朋友参考一下 需求: 前端通过jQuery Ajax传输json到后端,后端接收json,对json进行处理,后端返回一个json给前端 这里使用servlet的方式 1、采用$.post方法 index.jsp页面 CheckServlet.J

  • 问题内容: 假设我有一个页面,该页面会随着时间的流逝缓慢地返回一堆数据。例如,例如: 我想显示所有数据,因此它将“实时”更新。就像这样,一旦发送了一行数据,它将允许我解析并显示数据吗? 有没有办法通过jQuery做到这一点?抱歉,以前是否有人问过这个问题 谢谢你的时间!:) 问题答案: 当然,建立一个基本的彗星风格的长轮询非常简单: PHP: JavaScript: