通过Safari访问时,React应用程序会抛出401错误,但不会以其他方式访问 [英] React app throws 401 error when accessed through safari, but not otherwise
本文介绍了通过Safari访问时,React应用程序会抛出401错误,但不会以其他方式访问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在CloudFront分发版后面的S3存储桶中托管了一个Reaction应用程序。它与Django服务器对话。登录在所有浏览器上都可以正常工作(确认凭据正确,并且没有基本的连接问题)。一旦登录,应用程序就会重定向到一个页面,该页面通过FETCH执行一个简单的GET请求(到一个需要身份验证的URL)。这在所有桌面浏览器(MacOS)上都能成功运行,Safari除外,Safari收到401未经授权的错误。同样,我在iOS上的每个浏览器上都收到了401未经授权的错误。
我尝试刷新Mac的域名系统,但无济于事。我完全被难住了。如果它根本不起作用,那就好了,但除了狩猎,其他地方都能用?
取码:
componentDidMount() {
fetch(`${apiRoot}/info`, {
method: "GET",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
Authorization: `Token ${this.props.auth.token}`
}
})
.then(response => response.json())
.then(data => {
this.setState({
Name: data.name,
Email: data.email
});
});
}
推荐答案
在获取URL的末尾添加正斜杠:
fetch(`${apiRoot}/info/`, ...
Chrome和Firefox似乎可以自行解决这个问题,但Safari并非如此。
这篇关于通过Safari访问时,React应用程序会抛出401错误,但不会以其他方式访问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文