关于前端传formdata数据 后端接收不到问题
//填写的信息提交到数据库
submitFormFriuit = function(){
var form =new FormData();
form.append("fruit_id",$("#fruit_id").val().toString());
form.append("fruit_type",$("#fruit_type").val().toString());
form.append("fruit_name",$("#fruit_name").val().toString());
form.append("fruit_amount",$("#fruit_amount").val().toString());
form.append("fruit_price",$("#fruit_price").val().toString());
form.append("fruit_enterprice",$("#fruit_enterprice").val().toString());
form.append("fruit_sellprice",$("#fruit_sellprice").val().toString());
form.append("fruit_place",$("#fruit_place").val().toString());
form.append("fruit_place_f",$("input[name='ra']:checked").val().toString());
form.append("fruit_states",$("#fruit_states").val().toString());
form.append("fruit_time",$("#fruit_time").val().toString());
form.append("fruit_date",$("#fruit_date").val().toString());
form.append("fruit_info",$("#fruit_info").val().toString());
//得到img的图片张数
var ping=""
var ps =$("#picss").find("img");
//alert(ps.length+"lengths");
ps.each(function(i){
var s =$(this).prop("src");
ping +=s.substr(s.lastIndexOf("/")+1,s.length)+"/";
});
form.append("picname",ping.toString());
alert($("#fruit_enterprice").val().toString())
$.ajax({
processData: false,
contentType: false,
method:'post',
url:'addFruit',
datatype:'json',
data: form,
success:function(e){
toastr.success("添加成功");
window.location.href="addProduct?type=15";
}
});
}
对于数据有没有传过去,我们可以通过按F12看传送的form-data是否有数据,我的是有的,但后端打印就是为null,因为我还要传送图片,所以我传送的enctype=“multipart/form-data”,当初我一直没有想到为啥,后面才发现我没有配置CommonsMultipartResolver。所以针对enctype为multipart/form-data 要看一下在springMVC中的配置文件是否配置这一项
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8"></property>
</bean>