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