<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ajax file</title> <script src="./js/jquery-1.12.4.min.js"></script> <script> $(function(){ $file = $("#file") $file.change(function(){ var formData = new FormData(); formData.append('file', $('#file')[0].files[0]); // 固定格式 alert(formData) $.ajax({ // ajax前記得加點 . !!!!!!!!!!!!!!!!! url:"http://www.baidu.com", type:"POST", cache:false, data:formData, processData:false, contentType:false, success:function(data){ alert("=============") }, fail:function(data){ alert("++++++++++++++++") } }); }); }); </script> </head> <body> <input type="file" id="file"> </body> </html> <!-- 上傳后,服務器端代碼需要使用從查詢參數名為file獲取文件輸入流對象,因為<input>中聲明的是name="file"。 --> <!-- 從Servlet 3.0(這好像是java的一個框架) 開始,可以通過 request.getPart() 或 request.getPars() 兩個接口獲取上傳的文件(django不確定是否使用這樣方式進行獲取數據) -->
<!--processData
設置為false
。因為data
值是FormData
對象,不需要對數據做處理。cache
設置為false
,上傳文件不需要緩存。contentType
設置為false
。因為是由<form>
表單構造的FormData
對象
所以這里設置為false。上傳后,服務器端代碼需要使用從查詢參數名為file
獲取文件輸入流對象,因為<input>
中聲明的是name="file"
-->