ajxa-serializeArray()提交表单对象,Java-JSONObject 接受存储对象

JS代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    var params = $("#form").serializeArray();//返回的是 JSON 对象,而非 JSON 字符串
    var values = {};
    for (var item in params) {
        values[params[item].name] = params[item].value;
    }
    var params2 = JSON.stringify(values);//将对象解析为字符串
    $.ajax({
        type : "POST",  //提交方式
        url : "leave/addLeave",//路径
        contentType : 'application/json;charset=UTF-8',
        data : params2,//数据,这里使用的是Json格式进行传输
        success : function(result) {//返回数据根据结果进行相应的处理
            console.log(result);
        }
    });

java代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import net.sf.json.JSONObject;
@ResponseBody
@RequestMapping(value = "/updateLeave", method = RequestMethod.POST, produces = "application/json; charset=utf-8")
    public Map<String, Object> UpdateLeave(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject data) {
        Map<String, Object> TempMap = new HashMap<String, Object>();
        Leave leave = (Leave) JSONObject.toBean(data,Leave.class);
        long res =leaveService.update(leave);
        if(res<1){
            TempMap.put("ResultCode", 0);
            return TempMap;
        }
        TempMap.put("ResultCode", 1);
        return TempMap;
    }
ˆ Back To Top