Ajax配列伝達値400エラー解決方法

992 ワード

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 transPhoto(
			@RequestParam(value="photoStr") String photoStr,HttpServletRequest request){
		Map map = Maps.newHashMap();
		List photoId = JSON.parseArray(photoStr,String.class);  ...}
まとめて、フロントエンドページで使用
JSON.stringify()
方法配列をJson列に変換し、バックグラウンドでJSONを使用する.parseArray()
方法Json列を配列に変換すればよい【「com.alibaba.fastjson.JSON」パッケージを導入する必要がある】.