ajax数据传送,@RequestParam和@RequestBody来接收数据

ajax数据传送相关(ajax传输多种类型数据解决后端读取不到问题)

出现问题

1.前端代码(这里使用了ztree插件)

在这里插入图片描述
2.后端代码,使用@RequestParam获取请求数据

在这里插入图片描述
3.发送请求

①.出现异常
在这里插入图片描述
②.前端发送的数据
在这里插入图片描述

解决问题

1.去掉authList数组数据看看,一样的问题,看来是请求有问题

2.去掉contentType: "application/json;charset=UTF-8"后,只有authList解析出错
在这里插入图片描述
①查看前端发送的请求头信息
在这里插入图片描述
②.这种contentType表明数据是按照表单数据提交给服务器
③.查看前端请求的数据是authList[]
在这里插入图片描述
3.后端换成authList[]参数接收数据
在这里插入图片描述
成功接收到数据并处理
但这样接收数据感觉很别扭,传入的数据是authIdList,接收却需要是authIdList[]
4.查找资料,发现可以在ajax请求设置traditional:true,来达到后端请求参数获取不加括号
①.前端代码
在这里插入图片描述
②.后端代码
在这里插入图片描述
③.发送请求带的数据以及请求头contentType
在这里插入图片描述
在这里插入图片描述
成功接收到数据并处理

5.除了以上解决外还可以将单个数据也当成数组来发送,使用json字符串传输数据,后端用@RequestBody封装请求数据
①.前端代码
在这里插入图片描述
②.后端代码
在这里插入图片描述
③.发送请求带的数据以及请求头contentType
在这里插入图片描述
在这里插入图片描述
成功接收到数据并处理

<a href="#">链接5</a> </div> <!-- 主内容区 --> <div class="main-content"> <h1><img src="https://via.placeholder.com/150x50" alt="我的网站"></h1> <div@RequestBody 注解用于读取 HTTP 请求正文并将其绑定到方法参数上。默认情况下,SpringM class="search-box"> <input type="text" placeholder="搜索..."> <button type="submit">搜索</button> VC 会使用 HttpMessageConverter 将请求的主体部分转换为方法参数所需的对象类型。 在实际应 </div> <div class="scroll-box"> <h2>滚动内容框</h2> <p>这用中,@RequestBody 可以接收多种数据格式,包括: 1. JSON 格式数据:可以使用 Jackson 库将里是网站内容的主要部分。</p> <p>这里是网站内容的主要部分。</ JSON 数据转换为 Java 对象,例如: ```java @PostMapping("/example") @ResponseBody public ExampleResult example(@RequestBody ExampleData datap> <p>这里是网站内容的主要部分。</p> <p>这里是网站) { // ... } ``` 2. XML 格式数据:可以使用 JAXB 库将 XML 数据转换为 Java 对象,内容的主要部分。</p> <p>这里是网站内容的主要部分。</p> <例如: ```java @PostMapping("/example") @ResponseBody public ExampleResult example(@RequestBody ExampleData data) { // ... } ``` p>这里是网站内容的主要部分。</p> <p>这里是网站内容的主要3. 文本格式数据:可以直接将 HTTP 请求正文绑定到 String 类型的方法参数上,例如: ```部分。</p> <p>这里是网站内容的主要部分。</p> <p>这里java @PostMapping("/example") @ResponseBody public ExampleResult example(@RequestBody String data) { // ... } ``` 需要注意的是是网站内容的主要部分。</p> <p>这里是网站内容的主要部分。</p,使用 @RequestBody 注解时需要保证请求的 Content-Type 与支持的数据格式相匹配,否则会导> </div> </div> <!-- 版底 --> <div class="footer"> <p>版权所有致 HTTP 415 错误。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值