ajax向后台传递数组且数组有可能为空状况

    这是一个很小的问题,平时工做中容易忽视,今天在作一个需求,须要利用ajax想后台传递两个数组,切两个数组有可能为空的状况。这里遇到了两个问题:1.ajax传递数组后台接收不了,2.当传递数组为空的时候系统空指针。javascript

    问题1:ajax传递数组后台接收不了

    出现问题的1的缘由是由于ajax的解析数组传到后台的时候为其参数名多加了一个[],其实咱们在后台节后参数的时候在数组名后面加上[]也是能够的,可是这样作不妥。以下代码能够在ajax中加入traditional: true,这个就能够了,后台就能够正常接收数组。java

$.ajax({
	type: "POST",
	dataType: "json",
	traditional: true,
	data: {
		id : data,
		deleteOrg : deleteArray,
		insertOrg : insertArray,
	},
	});

    问题2:当传递数组为空的时候系统空指针

    出现问题2是由于ajax向后台传递参数的时候若是数组为空会默认舍弃这个字段。解决这个问题能够在后台springmvc接收逇时候解决。以下代码设置required=false便可,当传递数组为空的时候对应字段为null。ajax

@RequestParam(value="deleteOrg", required=false) List<String> deleteOrg
@RequestParam(value="insertOrg", required=false) List<String> insertOrg
相关文章
相关标签/搜索