将加载进度添加到AJAX url fetch

时间:2012-05-06 09:59:18

标签: php javascript jquery ajax

我想知道是否可以在下面的代码中添加加载进度,即67%到我的AJAX网址获取?:

            function update() {
          $("#notice_div").html('<font color="yellow">Henter data fra <?php echo $storeName; ?>..'); 
          $.ajax({
            type: 'GET',
            url: 'getOrders.php?gs=<?php echo $_SESSION['store'] ?>',
            timeout: 2000,
            success: function(data) {
              $("#orders").html(data);
              $("#notice_div").html('<font color="green">OK</font>'); 
              window.setTimeout(update, 10000);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
              $("#notice_div").html('<font color="red">Det lykkedes ikke at kontakte server..</font>');
              window.setTimeout(update, 60000);
            }
        });
        }

虽然说“Henter data fra:...(67%)”e.t.c。

提前致谢

2 个答案:

答案 0 :(得分:0)

在某些情况下它可能但对于这种精简操作是不可行的。您是否希望进度条指示上传表单数据的进度?或者您想表明下载响应数据的进度?如果您要上传某些文件是,则可以使用并行查询来为您提供间隔时间。但是对于这种小的通信开销,大部分时间来自服务器端的处理延迟很难设计进度中继,除非你知道处理的不同阶段。

并且它与PHP或您正在玩的客户端库无关。你需要设计双方,并且在其他所有语言中都是类似的任务

答案 1 :(得分:0)

你不能单独使用JQuery,因为如果我没弄错的话,它无法访问浏览器的请求数据。

唯一可行的方法是使用支持部分请求处理的后端,在这种情况下,您可以同时打开一个单独的连接到后端,并轮询或推出给定文件的上传进度ID。但是,正如我所说,PHP不支持部分请求,所以你不能这样做。