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