【整理】【ajax】请求与后台接受
1、
前台:data:"id=1&name=dd", dataType:"json"
后台:String id, String name
说明:dataType是告诉服务器我需要什么数据类型
2、
前台:data:{ids:Array数组,name:字符串}
后台:@RequestParam("ids[]") String[] ids, @RequestParam(value = "name", required = false) String name
说明:required = false的意思就是不是必须,可以不传;required = true就是一定传
3、
前台:data:JSON.stringify(Array数组), contentType: ‘application/json‘
后台:@RequestBody String[] ids或者 @RequestBody List ids
说明:contentType是告诉服务器我传的是什么数据类型
application/x-javascript text/xml->xml数据
application/x-javascript->json对象
【默认】application/x-www-form-urlencoded->表单数据
application/json;charset=utf-8 -> json
4、
前台:data:JSON.stringify(Map类型), contentType: ‘application/json‘
后台:@RequestBody Map map或者 @RequestBody 具体对象 obj
说明:具体对象有的字段才存值,没有的字段不存
5、
前台:data:{ids:JSON.stringify(Array数组),name:字符串}
后台:String ids, String name
说明:List idList=(List)com.fasterxml.jackson.databind.ObjectMapper.readValue(ids,List.class);
这是com.fasterxml.jackson.corejackson-databind
如果是JSON.stringify(Map类型),就转成List<map<string, object="">>
6、
前台:data:{ids:encodeURI(JSON.stringify(Array数组)),name:字符串}
后台:String ids, String name
说明:ids=java.net.URLDecoder.decode(ids,java.nio.charset.StandardCharsets.UTF_8);然后和5一样处理数据