![](/img/trans.png)
[英]Why am I still getting a 401(Unauthorized) error from api get request?
[英]Why am I receiving a 401 Unauthorized error when requesting API data from React?
长话短说,我正在构建服务器渲染的Express / React应用程序,并且尝试从客户端向后端查询一些数据。 基本流程如下所示:
applications/:id
Application
组件已加载 Application
组件生命周期方法componentWillMount
向服务器的API发出GET
请求 问题在于响应(步骤4)是401(未授权)。 这不是登录或不登录的问题。 存在有效的会话,并且如果我从浏览器导航到API路由,则可以看到预期的响应。 作为补充说明,此应用程序类似于另一个应用程序(在几乎相关的方面),没有此问题。
尝试的故障排除步骤:
withCredentials
配置参数) 事实证明,问题在于我是从componentWillMount
React生命周期方法发出API请求的。 换句话说,由于相关组件已在服务器上呈现并且尚未完成,因此API调用也在服务器端进行(该组件尚未挂载),这意味着该cookie无法用于API请求。 因此,出现401未经授权错误。
首先阅读文档会为我省去很多麻烦:
componentWillMount()...
避免在此方法中引入任何副作用或订阅。 对于这些用例,请改用componentDidMount()。
这是在服务器渲染上调用的唯一生命周期挂钩。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.