Axios 里 post formdata 的数据跟jquery中formdata数据格式不一样

今天遇到一个问题,

在jquery中使用content-type=application/x-www-form-urlencoded 和在axios中添加

{headers:{"Content-Type":"application/x-www-form-urlencoded"}}时,请求的数据不一样:

jquery 提交后 formdata 是一个数组 而 axios 请求中是一个对象 而不是数组

在网上找到资料后找到解决方法

var qs = require("qs"); 

var param = qs.stringfy(data);

再将param传给axios 这样就可以使请求的数据跟jquery相同


好的,使用 axios 将表单数据提交给 Spring Boot 后端的实现步骤如下: 1. 在前端,获取表单数据可以使用 jQuery 的 serialize 方法,将表单数据序列化为 URL 编码的字符串。 2. 使用 axios 发送 POST 请求到 Spring Boot 后端,将序列化后的表单数据作为请求体发送。 3. 在 Spring Boot 后端,定义一个 POST 接口,使用 @RequestBody 注解将请求体数据映射为 Java 对象。 下面是一个基本的示例代码: ```javascript // HTML 表单 <form id="my-form"> <input type="text" name="username" value="" /> <input type="password" name="password" value="" /> <button type="submit">Submit</button> </form> // JavaScript 代码 $('#my-form').on('submit', function(event) { event.preventDefault(); // 阻止表单默认提交行为 var formData = $(this).serialize(); // 序列化表单数据 axios.post('url/to/springboot/api', formData) .then(function(response) { console.log(response.data); }) .catch(function(error) { console.log(error); }); }); // Spring Boot 后端代码 @RestController @RequestMapping("/api") public class MyController { @PostMapping("/submit") public String handleSubmit(@RequestBody MyForm form) { // 处理表单数据form 对象包含表单数据 return "success"; } } // 表单数据的 Java 对象定义 public class MyForm { private String username; private String password; // getter 和 setter 方法省略 } ``` 其,`url/to/springboot/api` 是 Spring Boot 后端接口的 URL 地址,需要替换为实际的地址。`MyForm` 类是表单数据的 Java 对象定义,可以根据表单的实际情况进行修改。在后端,使用 @RequestBody 注解将请求体数据映射为 Java 对象,可以方便地进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值