post、put请求

post、put请求
提交这种复杂类型数据:

{
    name:"Myname",
    {
    types:[1,3],
    forms:[2,5]
    }
}

一般的数据提交类型为json,
对应的数据声明类型:'Content-Type':'application/json'
序列化:JSON.stringify(data) json字符串
还有 FormData 类型的
对应的数据声明类型:'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'
序列化:qs.stringify(data) ids[]=27&ids[]=26 ==> ids%5B0%5D=27&ids%5B1%5D=26

在使用axios发送put请求时,一开始使用的是json.stringify()的数据类型向后端node接口传递,但是总是返回下面这种数据
在这里插入图片描述
并且其类型还是Object类型,但是还不能调用到其里面的属性值,非常郁闷,
查了老多资料才发现这个可以用表单的数据处理方式传递数据,

于是我首先在后端接口设置可以处理表单数据的响应头(这里使用的是node Express搭建的接口)
res.header('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');

接下来使用node中的qs模块处理将要发送的数据

import axios from 'axios';
const qs = require('querystring');

export let updateBook = (id,data)=>{
     data = qs.stringify(data);
    return axios.put(`/allbooks/${id}`,data);
}

最后打印出入后台的数据
在这里插入图片描述
完美解决!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值