步驟:
1.首先獲取input對象
2.為input對象綁定onchange事件
3.獲取上傳的文件:var file = fileInput.files[0]
4.將獲取的文件添加到FormData對象中
5.發送ajax請求:
FormData:如果要用 Ajax 上傳文件,則需要使用 FormData 對象來作為數據,而不能使用 form 的 serialize 方法(原因是 serialize 方法得到的數據是一個字符串,其不支持二進制數據傳輸,因此無法上傳文件)
cache:當發起一次請求后,會把獲得的結果以緩存的形式進行存儲,當再次發起請求時,如果 cache 的值是 true ,那么會直接從緩存中讀取,而不是再次發起一個請求了。
從 cache 的工作原理可以得出,cache 的作用一般只在 get 請求中使用。
processData:處理數據:默認情況下,processData 的值是 true,其代表以對象的形式上傳的數據都會被轉換為字符串的形式上傳。而當上傳文件的時候,則不需要把其轉換為字符串,因此要改成false
contentType:發送數據的格式"和 contentType 有個類似的屬性是 dataType , 代表的是期望從后端收到的數據的格式,一般會有 json 、text……等.而 contentType 則是與 dataType 相對應的,其代表的是 前端發送數據的格式
核心代碼:
文章參考地址:https://blog.csdn.net/qq_41564928/article/details/90580375