菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

示例代码:实现Ajax上传文件进度条功能

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:js教程 js代码 AJAX 上传文件 进度条

以下是一个简单的Ajax上传文件进度条功能示例代码: ```html Ajax上传文件进度条

AJAX上传文件时,有时比较耗时,需要在界面上显示下进度信息,获取ajaxSettings中的xhr对象,为它的upload属性绑定progress事件的处理函数

前端代码

<!DOCTYPEhtml><html><head><metacharset="utf8"><title>testupload</title><!--jquery--><scriptsrc="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script>//页面加载完时加载此函数window.onload=function(){$('#uploadBtnId').click(function(e){$('#resultId').html();//使用FormData对象来提交整个表单,它支持文件的上传varformData=newFormData(document.getElementById("myFormId"));formData.append("ddd",10);//也可使用append追加数据$.ajax({url:'do_upload.php',data:formData,contentType:false,//false:自动加上正确的Content-TypeprocessData:false,//false:避开jQuery对formdata的默认处理enctype:'multipart/form-data',type:"POST",complete:function(res){},success:function(res,status){$('#resultId').html(res);},error:function(res){//错误处理},xhr:function(){//获取ajaxSettings中的xhr对象,为它的upload属性绑定progress事件的处理函数varmyXhr=$.ajaxSettings.xhr();if(myXhr.upload){//检查upload属性是否存在//绑定progress事件的回调函数$('#progressId').text();//清空myXhr.upload.addEventListener('progress',function(e){if(e.lengthComputable){varpercent="上传进度:"+e.loaded/e.total*100+"%";$('#progressId').text(percent);}},false);}returnmyXhr;//xhr对象返回给jQuery使用},});});}</script></head><body><formid="myFormId"onsubmit="returnfalse"><!--onsubmit阻止点击按钮后浏览器自动提交表单-->文件1:<inputtype="file"name="file1"><br>文本:<inputtype="text"name="text1"><br><buttonid="uploadBtnId">点击上传</button></form><pid="progressId"></p><pid="resultId"></p></body></html>

后端代码

<?php//演示用,仅显示下上传上来的数据echo"_FILES<br>";echovar_dump($_FILES);echo"<br><br>_POST<br>";echovar_dump($_POST);echo"<br>";?>


评论
建站知识
建站知识
使用技巧
调试安装
运营推广