很简单的场景,axios的POST请求,后端说没有接收到参数。比较奇怪,浏览器Network的请求信息是OK的,参数是有的。
查阅文档,我们了解到。axios会转换请求和响应的参数,从而导致后端接收不到参数。
axios
解决方案1
用URLSearchParams
对象传递参数。
let param = new URLSearchParams();
param.append("username", "admin");
axios({
method: "post",
url: "/user",
data: param
});
解决方案2
引入Qs
,这个库是axios里面的,不需要另外下载。
import Qs from "qs";
let param = {
username: "admin"
};
axios({
method: "post",
url: "/user",
data: Qs.stringify(param)
});
示例代码下载
可以复制以上代码运行查看使用效果,也可以到GitHub: https://github.com/Jackyyans/code123
下载,更多示例将会持续更新,欢迎关注。