Ajax数组传值出现400错误解决方法

1、出现400错误的原因:

传递数组时出现语法格式错误,服务器无法理解此请求。

2、解决思路:

在前端页面上将数组转化为Json串,然后在后台用Json串转化为字符串数组。

3、具体实现:

jQuery:

var photo = new Array();
$(".photoClass").each(function(){
				photo.push($(this).val());
			});
			if(photo.length>0){
				photoStr = JSON.stringify(photo);
				// alert(photoStr);
			}
Ajax中data参数传递:

photoStr:photoStr
Controller层【Action】:

@RequestMapping(value="toTransPhoto")
	@ResponseBody
	public Map<String,Object> transPhoto(
			@RequestParam(value="photoStr") String photoStr,HttpServletRequest request){
		Map<String,Object> map = Maps.newHashMap();
		List<String> photoId = JSON.parseArray(photoStr,String.class);  ...}
综上,在前端页面使用 JSON.stringify() 方法将数组转化为Json串,然后在后台使用JSON.parseArray() 方法将Json串转化为数组即可【需要引入“com.alibaba.fastjson.JSON”包】。

猜你喜欢

转载自blog.csdn.net/a515557595_xzb/article/details/79235927