axios发起post请求时因为参数不一样返回404
最近开发一个后台项目,浏览器发起接口请求时发现报404错误,看下面截图404一般是接口不存导致的,然后在跟服务端同事调试时发现一个奇怪的问题,我把请求的参数删除了几个只会请求竟然通过了,服务端代码没有任何改动,这什么鬼…404错误怎么会跟我参数有关系呢?请求是通过axios发起的...
·
记录一次灵异事件,最近开发一个后台项目,代码通过axios发起请求跟后端交互时发现浏览器报404错误,看下面截图
404一般是接口不存导致的,一开始以为是请求方式或者地址配置错误,跟后端同事沟通后,他说地址没错,服务端没有指定请求方式,然后我把接口改成get请求,接口请求成功,顺利拿到了服务端返回的数据。
但是所有请求都走get方式感觉有的奇怪,一堆数据都拼在url上面,很长,所以我又继续研究post请求,我让服务端同事把接口指定使用post方式请求,然而结果还是拿不到,浏览器继续报404,后面在跟服务端同事调试的过程中发现了一个灵异事件,我把请求的参数删除了几个只会请求竟然通过了,状态码200,但是返回了接口错误,没有正常拿到结果,这么神奇…404错误怎么会跟我参数有关系呢?
一番折腾之后发现是服务端接口地址重名的原因,服务端开启了两个服务,正常浏览器发起请求是先走到A服务,A服务再请求B服务获取数据,由于A和B服务的接口路径一样,浏览器发起请求之后就直接到B服务了,没有经过A服务,结果就报错了,后来决定改调其中一个服务的接口路径,让AB服务的接口地址不一样就可以正常使用post请求了
这次事件虽然问题解决了,但有几个比较奇怪的地方没搞懂:
- 在服务端断点查看时B服务是由返回数据的,不知道为什么浏览器就直接显示404了
- A服务和B服务的端口明明不一样,为什么访问A服务的端口怎么直接到B服务了
更多推荐
已为社区贡献3条内容
所有评论(0)