控制台报400、500内部服务器错误是什么原因?怎么解决?
状态码为400时
显示Bad Request,此时你可以看一下你的控制台->网络部分 -> 数据返回是不是后端要求上传的数据格式,我之前一直是数据载荷格式,即默认的json格式,而后端要求我传输fromdata格式,因此报400,可以在请求接口函数中添加:
headers: {
'Content-Type': 'multipart/form-data'
}
举个例子:处理登录业务时:
// 登录接口
export function login(data) {
return request({
url : '/login',
method:'post',
data,
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
状态码为500时
前几天做了一个项目,登录时每次都报500,一直找了好几天的bug,百思不得其解,下面我将从http状态码的产生原因、解决思路和解决方法做一个总结:
产生原因:
- 服务器端的原因,即后端的原因,因为看到这个文章的大概都是前端的小伙伴,所以后端解决方法在此不再赘述。
- 而我做的项目的后台接口用postman可以测试成功,并能够返回数据,所以我确信是我在前端出了问题。
前端可能产生原因及解决方法
-
清除缓存,并删除Cookie,之后强制刷新一下浏览器,重新启动浏览器。
即:把它作为一个504的错误。
500内部服务器错误是不经常涉及到缓存问题,但它是可能的,有时你清除浏览器缓存和Cookie后,问题将被解决。
这并不是说你需要很高的技术知识的东西。
在谷歌浏览器,你可以通过下面的下面的步骤清除缓存和Cookie。
1)按Ctrl+Shift+Delete键。
2)你会得到一个窗口以清除浏览数据,确保复选框被选中。
3)点击按钮“清除浏览数据”。 -
**你的axios版本出了问题!**而我就是这个原因,我当时是直接npm下载的axios,并没有指定版本号,默认下载零点几的版本,有时会和后端接口不适配,需要修改
npm i axios@1.1.3
这样你应该就可以解决问题了,如果仍然报错,欢迎留言或者直接私信我,如果该文章对你有帮助,可以关注一下。