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

被折叠的 条评论
为什么被折叠?



