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

5da81b542edb2430.jpg

在HTML5以前,有一系列jQuery的技术和插件来实现AJAX文件上传。HTML5引入了能够简化文件上传的FormData类。本篇文章给你们介绍一下使用jQuery HTML5和FormData上传文件的方法示例。php

$('#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技巧就能有效的实现。这里有一些技巧能够使这些代码以咱们指望的方式工做:html

当咱们建立FormData的实例时,咱们传递form [0]而不是form。它的意思是实际的表单元素,但不是jQuery选择器。html5

咱们只是传递false而不是定义contentType。这意味着jQuery不向请求添加 Content-Type头部。linux

咱们设置processData为false,因此,jQuery不会将咱们的data值(以FormData为基础)转换为字符串。ajax

以上就是使用jQuery HTML5和FormData上传文件的方法示例的详细内容,但愿对你有所帮助。segmentfault

1449154418-13.jpg

阅读原文:使用jQuery HTML5和FormData上传文件的方法示例this

相关文章:
浅谈H5的data-*中容易被忽略的一个小问题
html5须要遵照的6个原则(介绍)
linux怎么挂载
php的内核原理
在Python中调用外部命令是什么url

相关文章
相关标签/搜索