天天看点

springmvc ajax 提交list到后台

废话不说先上代码

ajax 代码

function addSegmentToGroup() {
		
		var groupId = $('#groupId').val();
		var segmentList = [];
		$('#rightSelect option').each(function(){
			var bean = {};
			bean.groupId = groupId;
			bean.id = $(this).val();
			segmentList.push(bean);
		});
		$.ajax({
			url : "/officeofriver/v1/superviseGroupRiver/addSegmentToGroup",
			type : "POST",
			data : JSON.stringify(segmentList),
			contentType : "application/json",
			dataType : "json",
			success : function(data) {
				
			},
			error : function() {

			}
		})
	}
           

这个里面需要注意,ajax提交时一定需要添加参数contentType : "application/json",需要将一个对象转换成为json传递时一定要添加这个参数,不然传递不过去,这里一个list需要传递时,必须将其转化为json,所以一定需要添加这个参数

java代码

@RequestMapping(value = "/addSegmentToGroup", method = RequestMethod.POST)
	@ResponseBody
	public Map<String, Object> addSegmentToGroup(@RequestBody List<SegmentBean> segmentList) {
		Map<String, Object> resultMap = new HashMap<String, Object>();
		if (segmentList == null || segmentList.size() == 0) {
			resultMap.put("code", Const.FAIL_ILLEGAL_PARAMETER);
			logger.error("addSegmentToGroup param segmentList is null!");
			return resultMap;
		}
		for (SegmentBean sb : segmentList) {
			System.out.println(sb.getId());
		}
		
		return null;
	}
           

这里需要注意,在参数前需要添加@RequestBody,这个注解做为一个可选注解,但是当前面传递的为contentType : "application/json"时,就一定需要添加

继续阅读