【ajax】请求与后台接受

本文详细介绍了前端与后端交互过程中,不同数据格式如json、URL编码的使用,以及如何处理Array、Map等复杂数据类型。重点讨论了dataType、contentType的设置及其对数据传输的影响,同时讲解了后台如何解析前端发送的数据,包括Array和Map类型的转换方法。
摘要由CSDN通过智能技术生成

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一样处理数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值