一、报错400
400一般就是前后端在参数名称,数据类型,请求方式等不一致导致。也就是前端传给后端的数据与后端想要接受的数据不一致。看下图百度的解释
解决:
1、首先,先查看参数名称是不是一致,包括空格这种细节
(曾经后端在参数名称那里多打了一个空格,很难看出来,弄了很很久才发现…)
2、参数的数据类型。这里展示一下将对象转化成json格式传给后端
使用的是JSON.stringify,括号里面传的是要给后端的参数
3、检查前端请求接口的方式与后端是否一致
一般默认是get,如果是post就需要在axios请求中手动写一下代码
4、axios中传参方式错误
axios中传参有两种方式:params与data。最初以为他们是相同的,所以就混着用,误打误撞每次都没发生错误。后面才出现了bug。查看一下,原来是:
params是添加在url后面的请求字符串中的,一般用于get请求。
data是添加到请求体中的,一般用于post请求。
查找过程中:
据说data是不可以用于get请求的,我还没有测试过。
但是用params用于post有过可以的,但是这次就发生了错误。
所以说具体也要看后端是怎么书写的。跟后端保持一致就不会出错。
二、报错415
我的解决方式是:
更改请求头。在浏览器上可以查看原本的请求头是什么样的,发现跟后端的不一致,所以在发送请求的时候,手动修改请求头。
三、报错405
检查IP地址
有其他情况再更新啦!