javascript - 如何使用Jquery一步步获取PHP数据?

标签 javascript php jquery multi-step

我在使用 jquery 和 php 组合时遇到了一些问题。让我从代码开始。

PHP 代码:

if ($_POST["request"]==10)
    progress();

function progress()
{
    $files = getfiles();
    $progress = 0;
    $progressRate = 100/$files->number;
    for ($i=0;$i<$files->number;$i++)
    {
        sendfile($files->location[$i]);
        $progress+=$progressRate;
        echo $progress;
    }
}

代码输出: 例如 files->number = 2 那么输出将为 50 100。

Jquery 代码:

jQuery.post("functions.php",{request:10},function(data){

            alert(data);


   });

问题:我想要的是先警报 50,然后再警报 100,我的意思是当第一个循环以 php 结束并回显第一个进度值时,那么 jquery 应该能够拦截它,但是 jquery 在整个循环结束后警告数据,这意味着我在一个警告中得到 50100,jQuery 有什么办法可以处理这个问题吗?我知道还有其他解决方案使用 PHP 并生成例如隐藏 div 或属性中的循环数,然后在 jQuery 中使用循环,但我真的想直接这样做。

最佳答案

这不是 AJAX 的工作原理。它发出单个请求,并对响应执行“某些操作”,就像导航到 URL 时浏览器所做的那样。

PHP 脚本将在服务器端执行,将结果打印到“屏幕”并将其作为响应发送回来。

如果您想要返回多个变量,您应该将它们作为 JSON 数据返回并在 javascript 中解析 JSON 字符串。

关于javascript - 如何使用Jquery一步步获取PHP数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12044765/

相关文章:

java - 在面向对象编程中获取特定类的所有对象

java - 使用 jQuery 从 json url 解析变量

php fread文件函数

javascript - 如何获取动态创建的 Id 的当前值?

javascript - WebView JavaScript 接口(interface)似乎只能通过 Android Studio 的 Instant-Run 运行,但在通过常规 gradle 编译时却不行

php - 我需要一个很好的工具来设计我的代码——即间距、括号等

javascript - 如何通过javascript在iframe上自动填充数据

javascript - jQuery 在当前行的 div 上添加行号作为类

javascript - 表单 HTML 未更新。

javascript - 我们可以给一个带参数的回调吗?