项目中axios发送 post 请求 数据类型为Form Data 数据时踩的坑(设置了请求头信息之后还未成功 但是发送过去的类型不对)解决方法

项目中post后端要求发送的数据放在formdata中,

  • 那么第一件事情设置请求头信息,,现在用的很多封装的ajax库都可以设置请求头信息 这里以axios为例
axios({
    url:this.dialog.add.upload_url,
    method:'post',
    data,
    headers:{
        'Content-Type':'application/x-www-form-urlencoded'
    }
}).then(res=>{
    if(res.status){
        this.$message.success("修改成功");
        this.mapping=[];
        this.dialog.add.show=false;
        this.getTableData();
    }
})
这里的data是一个对象
 let data = {
 		temp_name:"sjsj",
 		mapping:[{'sda':'dad'},{'sda':'dad'}]
 }

可是这样发送过去在 数据的类型是正确的 但是他的格式不正确 这样后端接收到的数据可能就无法处理
在这里插入图片描述

解决办法 new 一个FormData() 如不过不这么做 发送的数据其实不是formdata
let data=new FormData();
data.append("mapping",this.fileUploadData.mapping)
data.append("temp_name",this.fileUploadData.temp_name)
data.append("_id",this.fileUploadData._id)
现在再来看看 network

在这里插入图片描述

这样就好了 希望对大家有帮助

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值