在html5之前,有一系列jquery的技术和插件来实现ajax文件上传。html5引入了可以简化文件上传的formdata类。本篇文章给大家介绍一下使用jquery html5和formdata上传文件的方法示例。
$('#myform').on('sumbit', function(){ var form = $(this); var formdata = false; if (window.FormData) { formdata = new FormData(form[0]); } var formAction = form.attr('action'); $.ajax({ url : '/upload', data : formdata ? formdata : form.serialize(), cache : false, contentType : false, processData : false, type : 'POST', success : function(data, textStatus, jqXHR){ // Callback code } }); });
登录后复制
你不需要任何插件,flash或iframe技巧就能有效的实现。这里有一些技巧可以使这些代码以我们期望的方式工作:
当我们创建FormData的实例时,我们传递form [0]而不是form。它的意思是实际的表单元素,但不是jQuery选择器。
我们只是传递false而不是定义contentType。这意味着jQuery不向请求添加 Content-Type头部。
我们设置processData为false,所以,jQuery不会将我们的data值(以FormData为基础)转换为字符串。
立即学习“前端免费学习笔记(深入)”;
以上就是使用jQuery HTML5和FormData上传文件的方法示例的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2908635.html