在做ssm项目的时候用到ajax的记录…
post方法:
动态获取div的value,隐藏对应的div项
var str=this.value;
$.post("lover/deleteL",{"id":str},function(data){
alert(data);
$("#div"+str).hide();
});
data为后台printwriter.write数据
当用ajax提交form表单的时候
直接:
$("#btntj").click(function(){
var form=new FormData(document.getElementById("forml"));
$.ajax({
url:"lover/addl",
type:"post",
processData:false,
contentType:false,
data:form,
success:function(data){
alert("添加成功");
window.location.reload()
},
error:function(){
alert("添加失败");
}
});
});
FormData类能自动把表单内的数据封装好,后台用request.getparemeter(“”)就能获得对应的值,可以说是十分方便了。另外,表单支持file文件上传类型。
后台代码(我这个项目暂时用到的提取方法):
@RequestMapping("/addl")
public void addl(@RequestParam("lname") String name,@RequestParam("month") String month,@RequestParam("day") String day,@RequestParam("year")String year,HttpServletRequest request,PrintWriter writer) throws ParseException {
User user=(User) request.getSession().getAttribute("user");
Lover lover=new Lover();
lover.setUserid(user.getId());
lover.setName(name);
lover.setBirth(new SimpleDateFormat("yyyy-MM-dd").parse(year+"-"+month+"-"+day));
loverServiece.saveLover(lover);
writer.write(name);
}
另外,由于表单提交的是request payload,要在springmvc配置文件中添加
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
<property name="maxInMemorySize" value="10240000"></property>
</bean>
才能生效。
可以通过maxUploadSize设置上传文件的总大小上限,maxInMemorySize设置上传时允许写到内存中的最大值(默认为10240字节)