使用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

相關文章
相關標籤/搜索