使用jquery提交FormData数据
来源:互联网 发布:s7200plc密码破解软件 编辑:程序博客网 时间:2024/06/06 16:25
源码示例
<!doctype html><html><head> <title>测试</title> <meta charset="utf8"> <script src="../js/jquery-1.11.3.min.js"></script></head><body> <form id="form"> <input name="file" type="file" /> <input name="a" value="1" /> <input value="2" /> </form> <button>提交</button></body></html><script> $(function() { // 监听上传进度 var xhrOnProgress = function(fun) { xhrOnProgress.onprogress = fun; //绑定监听 return function() { //通过$.ajaxSettings.xhr();获得XMLHttpRequest对象 var xhr = $.ajaxSettings.xhr(); //判断监听函数是否为函数 if (typeof xhrOnProgress.onprogress !== 'function') return xhr; //如果有监听函数并且xhr对象支持绑定时就把监听函数绑定上去 if (xhrOnProgress.onprogress && xhr.upload) { xhr.upload.onprogress = xhrOnProgress.onprogress; } return xhr; } } $('button').on('click', function() { var formData = new FormData($('#form')[0]);// 自动搜索表单信息(表单内没有name属性的input不会被搜索到),IE<=9不支持FormData formData.append('b', 3);// 还可以添加额外的表单数据 $.ajax({ type: 'post', url: '../../../material/jQueryFileUpload?type=1', data: formData, contentType: false,// 当有文件要上传时,此项是必须的,否则后台无法识别文件流的起始位置(详见:#1) processData: false,// 是否序列化data属性,默认true(注意:false时type必须是post,详见:#2) xhr: xhrOnProgress(function(e){// (详见:#3) var percent=e.loaded / e.total;//计算百分比 $('body').append('->'+ percent); }), success: function(data) { $('body').append('完成'); } }) }) })</script>
参考文章
[#1] 浅谈contentType = false
[#2] 原生ajax请求 怎么设置processData这个参数?
[#3] jQuery监听文件上传实现进度条效果
1 0
- 使用jquery提交FormData数据
- 使用FormData提交数据
- 使用formData给后台提交表单数据
- jquery FormData异步提交文件
- 使用formdata,将数据通过ajax提交到后端
- 使用FormData表单数据对象提交表单及上传图片
- 使用FormData对象提交表单
- 通过jQuery Ajax使用FormData对象上传文件,Grails读取FormData数据
- Ajax利用FormData提交文件和数据
- 上传文件 使用HTML5的FormData 提交表单和文件数据
- ajax 请求后台数据(及使用FormData对象提交表单及上传图片)
- 使用FormData传递表单数据
- 使用FormData对象提交表单-上传附件
- 关于jQuery使用serializeArray()序列化表单数据,使用FormData()实现AJAX请求的问题
- 使用jquery的FormData上传文件
- JQuery使用Ajax同步提交数据
- JQuery使用Ajax同步提交数据
- 使用jQuery实现-跨域-提交表单数据
- 我的前端生涯的开始
- jmeter+ant之批量运行接口用例
- Gstreamer插件教程1.2—介绍(Introduction):基础(Foundations)
- nginx用socket连接php-fpm
- golang语法学习(一):变量,常量以及数据类型
- 使用jquery提交FormData数据
- c++==与c的函数对比(4)
- [Android开发] RxJava2之路二 - 基本使用方法
- GDB程序调试从初级到高级(四)
- 线性模型(二)-- 线性回归公式推导
- Mac如何安装lein
- 八大排序算法详解——插入排序
- poj 2229 Sumsets
- cacheColorHint,android:listSelector属性