reactjs - 在 React 中使用 Safari 而不是 Chrome 接收 401 状态

标签 reactjs http https django-rest-framework token

我们面临的问题如下:当使用 Safari 而不是 Chrome 作为浏览器时,我们在 get api 调用中收到 401 状态。我们使用的技术是 React 和 Django Rest Framework。在 React 中我们也使用 axios。同样,当我们使用 Chrome 作为浏览器时一切都很好(没有给出 401 错误并且身份验证似乎没问题),但是当我们切换到 Safari 时,它不起作用。我们还应该注意,在使用 Postman 进行测试时,如果我们在身份验证 header 中存储 token ,则不会给出 401 状态(有效)。

为了尝试解决这个问题,我们在 Django 后端尝试了不同类型的身份验证类,并确保 CORS 在我们的设置中。我们还确保我们遵循 react 组件生命周期以正确安装,并包含每个 api 调用所需的适当信息。我们认为这是客户端问题。

请参阅下图,了解我们看到的网络请求/响应以及我们的 api 调用的简要说明。

Network Responses and api call

最佳答案

所以事实证明我们问题的根源是我们没有以正斜杠结束我们的一个 api url,导致 301 然后 304。Chrome 能够毫无问题地自动更正,但是 Safari,IE,而火狐不能。

关于reactjs - 在 React 中使用 Safari 而不是 Chrome 接收 401 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50515514/

相关文章:

javascript - 当需要从类中回调时,将 React 常量移至其自己的文件中

javascript - RxJS 和 React 的 setState - 延迟函数执行直到订阅

.htaccess - https 和 http 组合 .htaccess

css - 如何减少将 http 解析为 https 所需的时间?

.htaccess - 通过 http 更改为 https - safari 显示我们的网站感觉不对

node.js - 使用 Node.js 和 HTTPS 进行电子邮件审核 API 时参数太长

html - 在 React 中使用 <animate> 对 SVG <filter> 进行动画处理

java - 修复局部错误 - HRS_REQUEST_PARAMETER_TO_HTTP_HEADER

android - 在webview中获取支付网关的回调

javascript - 如何在 react 中将数据文件加载到状态数组?