废话不说先上代码
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"时,就一定需要添加