记录一次灵异事件,最近开发一个后台项目,代码通过axios发起请求跟后端交互时发现浏览器报404错误,看下面截图
在这里插入图片描述
404一般是接口不存导致的,一开始以为是请求方式或者地址配置错误,跟后端同事沟通后,他说地址没错,服务端没有指定请求方式,然后我把接口改成get请求,接口请求成功,顺利拿到了服务端返回的数据。
在这里插入图片描述

但是所有请求都走get方式感觉有的奇怪,一堆数据都拼在url上面,很长,所以我又继续研究post请求,我让服务端同事把接口指定使用post方式请求,然而结果还是拿不到,浏览器继续报404,后面在跟服务端同事调试的过程中发现了一个灵异事件,我把请求的参数删除了几个只会请求竟然通过了,状态码200,但是返回了接口错误,没有正常拿到结果,这么神奇…404错误怎么会跟我参数有关系呢?
在这里插入图片描述

一番折腾之后发现是服务端接口地址重名的原因,服务端开启了两个服务,正常浏览器发起请求是先走到A服务,A服务再请求B服务获取数据,由于A和B服务的接口路径一样,浏览器发起请求之后就直接到B服务了,没有经过A服务,结果就报错了,后来决定改调其中一个服务的接口路径,让AB服务的接口地址不一样就可以正常使用post请求了

这次事件虽然问题解决了,但有几个比较奇怪的地方没搞懂:

  1. 在服务端断点查看时B服务是由返回数据的,不知道为什么浏览器就直接显示404了
  2. A服务和B服务的端口明明不一样,为什么访问A服务的端口怎么直接到B服务了
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐