多数文件上传都是通过表单形式提交给后台服务器的,因此,要实现文件上传功能,就需要提供一个文件上传的表单,而该表单必须满足以下3个条件:
1.form表单的method属性设置为post
2.form表单的enctype属性设置为multipart/form-data( form有个默认编码方式:application/x-www-form-urlencoded不是不能上传文件,是只能上传文本格式的文件,multipart/form-data是将文件以二进制的形式上传,这样可以实现多种类型的文件上传)。
3.提供<input type=“file” name=“filename” />的文件上传输入框。
原来的新增保存用$(“#saveForm”).serialize()提交form表单的数据,但不能提交file文件
function create(){
$.post("${ ctx }/goods/create.do",
$("#saveForm").serialize(),function(data){
if(data){
alert("保存成功");
window.location.reload();
}else{
alert("失败");
}
});
所以要修改
} */
function create(){
var formData = new FormData($("#saveForm")[0]);
alert(formData.get('goodName'));
alert(formData.get('uploadfile'));
$.ajax({
type: "post",
url:"${ ctx}/goods/create.do",
data: formData,
async: false,//从这往下3行必须要写,不然file文件传不到后台去
processData: false,
contentType: false,
success:function(data){
if(data){
alert("保存成功");
window.location.reload();
}else{
alert("失敗");
}
}
});
}