<!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" -->