qs.stringify 接口里把入参转为&连接的字符串(配合application/x-www-form-urlencoded请求头)

基础格式

import request from '@/utils/request';//主要对请求做一些统一的封装处理,使用的axios
import qs from 'qs';

export function xxxapi(data) {
    return request({
        url: 'xxx/xxx/xxx',
        headers: { 'content-type': 'application/x-www-form-urlencoded' },
        method: 'post',
        data: qs.stringify(data)
    })
}

网络显示

请求头和响应头的格式

在这里插入图片描述

提交载荷

请求载荷以表单的形式进行了提交,以&连接的字符串
在这里插入图片描述

经过浏览器编译格式化后:
在这里插入图片描述

接口返回json格式

在这里插入图片描述

入参含有复杂数据类型,注意Json转成字符串,否则报错

当qs.stringify遇见了复杂数据类型,如数组套对象:

{
	aaa:[{
		name:'test',
		age:20
	}]
}

在请求中显示为:
在这里插入图片描述
在这里插入图片描述
此时接口会报错(500),因为提交表单的接口本该接收变量aaa,但经过处理后变成了aaa[0][name],无法正确匹配到接口。所以遇到复杂数据类型,要先通过JSON.stringify()转成字符串。

其他

如果只用application/x-www-form-urlencoded 不用qs.stringify处理data则入参格式如下:
在这里插入图片描述

以application/json格式请求
在这里插入图片描述

详述 application/json 和 application/x-www-form-urlencoded 区别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值