Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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/7/rust/4.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 - Fatal编程技术网

jQuery ajax进度事件

jQuery ajax进度事件,jquery,ajax,Jquery,Ajax,我正在使用jQuery$.ajax上传文件 如何获取进度事件,然后应用适当的设置 这是我的$.ajax: $.ajax({ url : "upload.php", type : "POST", data : formData, processData : false, contentType : false,

我正在使用jQuery$.ajax上传文件

如何获取进度事件,然后应用适当的设置

这是我的$.ajax:

$.ajax({
                url : "upload.php",
                type : "POST",
                data : formData,
                processData : false,
                contentType : false,
                success : function(message, response){
                    document.getElementById("status").innerHTML = response;
                }
            })
我需要的是在上传过程中显示进度条。我应该如何做到这一点


注意:我不想假效果,这是把一个加载器,并成功地删除它,并显示正确的数据。我需要的是在上传过程中获取真实的progressData。

这里是一个答案,请检查此文件是否满足php文件上传 让我们从编写HTML表单开始,它是进度条的元素,我们只需要对它们进行样式设置并将其转换为一个漂亮的进度条

<div id="upload-wrapper">
<div align="center">
<h3>Ajax Image Uploader with Progressbar</h3>
<span class="">Image Type allowed: Jpeg, Jpg, Png and Gif. | Maximum Size 1 MB</span>
<form action="processupload.php" onSubmit="return false" method="post" enctype="multipart/form-data" id="MyUploadForm">
<input name="ImageFile" id="imageInput" type="file" />
<input type="submit"  id="submit-btn" value="Upload" />
<img src="images/ajax-loader.gif" id="loading-img" style="display:none;" alt="Please Wait"/>
</form>
<div id="progressbox" style="display:none;"><div id="progressbar"></div ><div id="statustxt">0%</div></div>
<div id="output"></div>
</div>
</div>
滑动分页 下面的函数捕获表单插件传递的参数,实时更改progressbar的宽度和文本

function OnProgress(event, position, total, percentComplete)
{
    //Progress bar
    progressbar.width(percentComplete + '%') //update progressbar percent complete
    statustxt.html(percentComplete + '%'); //update status text
    if(percentComplete>50)
        {
            statustxt.css('color','#fff'); //change status text to white after 50%
        }
}
收尾
该脚本中的其他内容和Ajax图像上传相同,您应该在下面的示例文件中找到其余代码。这张纸条相当中级,祝你好运

我无法发表评论,因为我没有足够的代表,但请参见此处:[有趣…因此将我的答案转换为评论]看起来像是as的副本,这也表明了进展。我建议你为自己选择一个合适的用户名。所以,我真的不希望答案只是指向外部网站的链接,因为这样一来,SO内容就不会独立存在,并且在外部网站更改或消失时也不会有用。好吧,我当时正在下载并复制正在格式化要粘贴到此处的
 $(document).ready(function() {  
        var options = { 
                target:   '#output', 
                beforeSubmit:  beforeSubmit,
                uploadProgress: OnProgress, //upload progress callback 
                success:       afterSuccess,
                resetForm: true  
            }; 

         $('#MyUploadForm').submit(function() { 
                $(this).ajaxSubmit(options);            
                return false; 
            });
    });
function OnProgress(event, position, total, percentComplete)
{
    //Progress bar
    progressbar.width(percentComplete + '%') //update progressbar percent complete
    statustxt.html(percentComplete + '%'); //update status text
    if(percentComplete>50)
        {
            statustxt.css('color','#fff'); //change status text to white after 50%
        }
}