笔记_axios提交form data

本文介绍如何使用Axios结合qs库解决前端向后端提交FormData格式数据的问题,通过配置请求头和序列化参数,确保后端能正确解析数据。

axios默认将数据提交至后端InputStream中,由于历史遗留问题,部分接口使用取form 中的数据,导致前端提交后端获取不到,直接用AJAX可以解决这个问题,但一个页面中两种方式emmmm。。。 。。。  所以有了下面的故事。。。 。。。

1、配置请求头信息

{  headers: {'Content-Type':'application/x-www-form-urlencoded'}  }

参数若默认为js对象会被序列化为js字符串,提交到后端数据是在form中但格式不对无法解析

2、引入qs

npm i qs

3、参数序列化

Qs.stringify(args)

完整样例:

axios.post(url, Qs.stringify(args), {
      headers: {'Content-Type':'application/x-www-form-urlencoded'}     
}).then(callbak).catch((err) => {
      layerPage.complete();
      window_alert(err.message);
});

 

其实ajxa更方便,各人喜好吧

$.ajax({
    url: url,
    data: args,
    type: "POST",
    cache: false,
    success: callbak,
    error: (err) => {
        window_alert(err);
    }
});

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值