【ajax】springmvc下使用

在做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字节)