利用XMLHttpRequest level 2 实现文件异步上传
2016-01-22 15:59
639 查看
function upload(){ //1、准备FormData var fd = new FormData(); fd.append("myfile",$('#myfileId')[0].files[0]); //创建xhr对象 var xhr = new XMLHttpRequest(); //监听状态,实时响应 //xhr和xhr.upload 都有progress事件,xhr.progress是下载进度,xhr.upload.progress是上传进度 xhr.upload.onprogress = function(event){ if(event.lengthComputable){ var percent = Math.round(event.loaded * 100 / event.total); console.log('%d%',percent); $('#jindu').text(percent); } } //传输开始事件 xhr.onloadstart = function(event){ console.log('load start'); $('#shangchuan').text('开始上传'); $('#stopBtn').one('click',function(){ xhr.abort(); $(this).hide(); }) loading(true); } //ajax过程成功完成事件 xhr.onload = function(event){ console.log('load success'); $('#shangchuan').text('上传成功'); console.log(xht.responseText); var ret = JSON.parse(xhr.responseText); console.log(ret.fname); } //ajax过程发生错误事件 xhr.onerror = function(event){ console.log('error'); $('#shangchuan').text('发生错误'); } //ajax被取消 xhr.onabort = function(event){ console.log('abort'); } //发起ajax请求传送数据 xhr.open('POST','/uploadFile',true); xhr.send(fd); }
相关文章推荐
- ruby实现的一个异步文件下载HttpServer实例
- C#异步绑定数据实现方法
- 科学知识:同步、异步、阻塞和非阻塞区别
- ASP实现文件上传的方法
- 探讨Ajax中同步与异步之间的区别
- C#中异步回调函数用法实例
- C#实现异步GET的方法
- C#异步下载文件
- PHP文件上传问题汇总(文件大小检测、大文件上传处理)
- C#异步执行任务的方法
- .net文件上传时实现通过文件头确认文件类型的方法
- asp.net 文件上传与刷新与asp.net页面与iframe之间的数据传输
- ASP的chr(0)文件上传漏洞原理和解决方法介绍
- asp.net上传文件到数据库的解决方案
- 深入理解JavaScript编程中的同步与异步机制
- javascript实现校验文件上传控件实例
- Jquery异步提交表单代码分享
- ajax 异步上传带进度条视频并提取缩略图
- JQuery异步获取返回值中文乱码的解决方法
- 基于jQuery通过jQuery.form.js插件实现异步上传