摘要:還特別介紹一種用使用對象上傳文件的方法。設置為上傳文件不需要緩存。用上傳文件因為不是所有瀏覽器都支持的,所以有時候需要用來實現文件上傳的功能。
用AJAX上傳文件,一般都是用FormData對象。
FormData對象,是可以使用一系列的健值對來模擬一個完整的表單,然后使用XMLHttpRequest發送這個“表單”。
FormData的使用
創建一個空的FormData對象,然后再用append方法逐個增加鍵值對
var formdata = new FormData();
formdata.append("name","xx");
formdata.append("flie", filename);
取得form元素對象,將它作為參數傳入FormData對象中。
var formOjb = document.getElementById("form");
var formdata = new FormData(formOjb );
利用form元素對象的getFormData方法生成它
var formobj = document.getElementById("form");
var formdata = formobj.fetFormData();
formdata是一個不透明的對象,現在暫時只有一個append可以操作,不能通過序列化手段得到其里面的內容。它的用法也只有一個,用于增強型的XMLHttpRequest對象的send方法中去。
var formEl = document.getElementById("form"); formData = formEl.getFormData(); formData.append("serialnumber", serialNumber++); xhr.send(formData);
還特別介紹一種用jQuery使用formData對象上傳文件的方法。
使用HTML代碼
javascript代碼
$.ajax({ url: "/upload", type: "POST", cache: false, data: new FormData($("#uploadForm")[0]), processData: false, contentType: false }).done(function(res) { }).fail(function(res) {});
注意點:
processData設置為false。因為data值是formData對象,不需要對數據進行處理。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81929.html
摘要:當用戶完成選擇文件動作時,提交子頁面中的。從此我們上傳文件就歡欣鼓舞的來找了。因為的核心是對象,異步的實現是通過一個對象,一般簡稱該對象對。這些回答基于自己理解,如有不妥,希望路過的大神輕噴,指正。 背景 平時工作中經常會遇到需要上傳文件的情況,如果你用ant design 或者element ,它們都提供了上傳的組件。 我們分別來看一下element 和 antd 手動上傳怎么處理:...
摘要:概述文件上傳是一個很常見的需求,實現文件上傳的技術也很多。幫助文檔模擬無刷新的文件上傳功能頁面無刷新上傳文件模擬,超簡單為什么上傳文件的表單里要加個屬性接口對象的介紹使用對象涉及文章侵權,請郵件告知。 概述 文件上傳是一個很常見的需求,實現文件上傳的技術也很多。下面就談談一些常見的上傳技術以及它們的優劣。 傳統表單上傳 傳統表單文件上傳估計是運用最廣泛和最簡單的技術了,說它簡單是...
摘要:組件設計的目標是解決用戶上傳文件的便利性,但是中后臺組件的場景是多種多樣的,所以可擴展能力是組件不可忽視的另一方面。我們可能的期望是在任何瀏覽器下交互和都一致的組件。由此我們做出了兩個通用的組件文件選擇器。 Upload 組件設計的目標是解決用戶上傳文件的便利性,但是中后臺 Upload 組件的場景是多種多樣的,所以可擴展能力是 Upload 組件不可忽視的另一方面。 同樣為了大家能夠...
摘要:最近工作中遇到上傳文件問題,主要需求是一步點擊上傳,兼容,當時用的控件,這兩天扒了一下源碼,明白了原理拿出來分享一下。組織頁面刷新端代碼使用模塊將文件暫存在目錄下。然后綁定的事件,通過取得中的數據。轉自無刷新文件上傳 最近工作中遇到上傳文件問題,主要需求是一步點擊上傳,兼容ie8+,當時用的dojox/form/uploader控件,這兩天扒了一下源碼,明白了原理拿出來分享一下。 總體...
閱讀 3527·2021-10-09 09:41
閱讀 2733·2021-10-08 10:18
閱讀 2164·2021-09-10 10:51
閱讀 2668·2021-09-10 10:50
閱讀 763·2021-09-09 09:33
閱讀 3369·2021-09-06 15:14
閱讀 3002·2019-08-30 11:06
閱讀 3230·2019-08-29 14:04