问题:请求的数据格式与后台要求的不匹配 思路:axios对比用jq的请求是成功的 axios请求: jq请求: 首先发现Request Payload和Form Data不同 解决:增加请求头this.$http({method: post,url: /login/xxx,dat...

问题:请求的数据格式与后台要求的不匹配
思路:axios对比用jq的请求是成功的
axios请求:
jq请求:
首先发现Request Payload和Form Data不同
解决:增加请求头
this.$http({
method: "post",
url: "/login/xxx",
data: this.ruleForm,
headers: { "content-type": "application/x-www-form-urlencoded" },
}).then((res) => {
console.log(res);
});
结果:
很多人到这就解决了,但是我的继续400,对比了一下jq的,应该不难用{}包裹,那就是必须要Form Data格式的数据了
使用formData包裹数据
let formData = new FormData();
formData.append('name',this.ruleForm.name);
formData.append('password',this.ruleForm.password);
this.$http({
method: "post",
url: "/login/checkLogin",
data: formData,
headers: { "content-type": "application/x-www-form-urlencoded" },
}).then((res) => {
console.log(res);
});
最后成功
优化:
如果不想每次请求都手动改headers
那么就全局配置axios的headers
import axios from 'axios'
axios.headers = {
'content-type': 'application/x-www-form-urlencoded'
}
Vue.prototype.$http = axios
``
沃梦达教程
本文标题为:解决axios报错400:Request Payload 转为 Form Data,并将对象内元素拆除


猜你喜欢
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Android实现监听音量的变化 2023-03-30
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- Flutter实现底部和顶部导航栏 2022-08-31
- Android实现轮询的三种方式 2023-02-17
- Android studio实现动态背景页面 2023-05-23
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- iOS 对当前webView进行截屏的方法 2023-03-01
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14