PHP前端开发

使用jQuery HTML5和FormData上传文件的方法示例

百变鹏仔 2个月前 (10-18) #H5教程
文章标签 示例

在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为基础)转换为字符串。

立即学习“前端免费学习笔记(深入)”;