接口|axios接口报错-参数类型错误解决

1.post方法问号跟参在url后发送请求

  • 通过qs方法
    接口|axios接口报错-参数类型错误解决
    文章图片
  • …运算符
    接口|axios接口报错-参数类型错误解决
    文章图片
2.content-type未符合
  • 首先了解post请求常见的数据格式(参考文章)
  1. Content-Type: application/json : 请求体中的数据会以json字符串的形式发送到后端
    Content-Type:
  2. application/x-www-form-urlencoded:请求体中的数据会以普通表单形式(键值对)发送到后端
  3. Content-Type: multipart/form-data:它会将请求体的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。
  • 发送数据类型为application/x-www-form-urlencoded 的请求
    接口|axios接口报错-参数类型错误解决
    文章图片
3.token放在请求头(全局封装)作为字符串发送,后台查看接收到的却是{token:‘xx’}
【接口|axios接口报错-参数类型错误解决】POSTMAN中请求成功
接口|axios接口报错-参数类型错误解决
文章图片

request.js中的封装
接口|axios接口报错-参数类型错误解决
文章图片

修改:在token中加个 Bearer 字符串
config.headers["token"] = "Bearer "+token;

4.请求参数包含特殊字符报错
包含英文[]符号时会报错400,错误如下:
接口|axios接口报错-参数类型错误解决
文章图片

解决:前端加密传输,后端解密 前端–str=encodeURI(str);
后台–URLDecoder.decode(str,“UTF-8”);
5.接口200成功,而返回走了catch()
那一定是then()执行过程出错,检查前端代码。

    推荐阅读