Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery/AJAX进度条_Jquery_Ajax_Json - Fatal编程技术网

Jquery/AJAX进度条

Jquery/AJAX进度条,jquery,ajax,json,Jquery,Ajax,Json,我现在有一个简单的AJAX页面,我通过AJAX提交数据,然后通过显示在屏幕上的AJAX接收响应。 当服务器处理响应时,我想创建一个进度条。 我的想法是,我可以向客户端发送多个ajax更新,其中包含客户端可以转换为进度条(即通过引导)的进度,直到发送最终响应为止 是否可以从一个AJAX请求发送多个AJAX响应,或者最好的方法是什么 谢谢,在后台有一个隐藏的加载图像,当AJAX调用启动时,使用.show()方法使其可见。在success函数中,使用.hide()方法隐藏图像 示例HTML将是: &l

我现在有一个简单的AJAX页面,我通过AJAX提交数据,然后通过显示在屏幕上的AJAX接收响应。 当服务器处理响应时,我想创建一个进度条。 我的想法是,我可以向客户端发送多个ajax更新,其中包含客户端可以转换为进度条(即通过引导)的进度,直到发送最终响应为止

是否可以从一个AJAX请求发送多个AJAX响应,或者最好的方法是什么


谢谢,

在后台有一个隐藏的加载图像,当AJAX调用启动时,使用
.show()
方法使其可见。在
success
函数中,使用
.hide()
方法隐藏图像

示例HTML将是:

<div class="ajax-content">
    <img src="loading.gif" alt="Loading" class="loading-gif" />
    <div class="ajax-response">
    </div>
</div>

如果希望进度条能够显示剩余工作的百分比,那么在考虑如何在客户端上实现之前,首先应该决定如何编写服务器端代码,以便它支持通知

然后在客户端上有两种可能的技术:

  • 通过推送通知,您可以使用HTML5WebSocket,以便服务器直接将进度推送到客户端

    使用PULL,客户机必须定期向服务器发送AJAX请求,服务器将返回操作的进度


    如果您不想报告百分比,那么您可以在发送AJAX请求之前简单地显示一些微调器动画,在AJAX请求完成时隐藏这些动画。

    web套接字的一个更轻量级的替代方案(尤其是通知,因为它们是单向的)是服务器发送的事件:Praveen,只是一个猜测,但是你的代码不会有助于获得%的进度。。。只是做起来容易,不是真正的问题。
    $(element).click(function(){
        $(".loading-gif").show();
        $.ajax({
            ...
            success: function(){
                $(".loading-gif").hide();
            }
        });
    });