Ajax配列伝達値400エラー解決方法
992 ワード
1、400エラーの原因:
配列の転送中に構文フォーマットエラーが発生し、サーバはこの要求を理解できません.
2、解決構想:
フロントエンドページで配列をJson列に変換し、バックグラウンドでJson列を文字列配列に変換します.
3、具体的な実現:
jQuery:
JSON.stringify()
方法配列をJson列に変換し、バックグラウンドでJSONを使用する.parseArray()
方法Json列を配列に変換すればよい【「com.alibaba.fastjson.JSON」パッケージを導入する必要がある】.
配列の転送中に構文フォーマットエラーが発生し、サーバはこの要求を理解できません.
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」パッケージを導入する必要がある】.