记一次前端收集接口数据为空问题处理

在开发过程中,我们经常会遇到前后端联调问题,比如出现接口数据无法正常返回,这时候需要我们对问题进行排查和解决。

以下是近期一个排查处理前端页面调用后端接口无数据的示例:

环境情况:Node作为前端,Nginx转发到JAVA程序作为后端。

具体现象:前端页面调用后端接口无数据;而直接访问接口地址却可以得到数据。

处理及解决:

  1. 确认前端页面调用接口的请求已发送并接收到了响应数据
  2. 通过抓包分析发现接口数据已经发送到前端,但前端页面并未能够正确处理数据内容。
  3. 确定原因是因为前端未将接口返回数据当做JSON格式处理,从而导致忽略了接口数据.
  4. 抓包检查后端程序的返回给Nginx的头部信息,发现已经设置了”Content-Type: application/jsont。
  5. 继续检查Nginx服务器的配置,发现在转发请求时,Nginx同样加上了一个”Content-Type: application/json”的返回头部信息。
  6. 由于Nginx返回时多加了一个Content-Type,导致最终响应出现了两个Content-Type。从而出现前端程序处理异常。
  7. 解决方法是在Nginx的配置文件中去掉额外返回的Content-Type值,前端程序即可正确认知到JSON信息,从而获取到响应数据。

发表评论

error: Content is protected !!