首页 > 解决方案 > 从 REST API 获取数据发送两个请求并且无法进行身份验证

问题描述

我正在尝试从带有 Django Rest Framework 的 Django 服务器中获取我的 React 应用程序中的数据,我正在使用内置的令牌身份验证。

componentDidMount() {
    let headers = {
       "content-type": "application/json",
        "authorization": "Token <token is here>"
    };

    fetch('http://localhost:8000/api/stats/', {
        headers: headers,
    })
    .then(res => res.json())
    .then((data) => {
        this.setState({ games: data })
    })
    .catch(console.log)
}

在 Chrome 中检查页面会发现这一点 铬检查

这看起来像是两个单独的请求,但我不确定。具有状态的请求具有(failed)我在 React 中提供的标头。这个请求似乎完全失败了,它甚至没有到达服务器。

具有状态的另一个请求401没有我提供的标头。但是,该请求确实得到了服务器的响应。

有人知道出了什么问题吗?

标签: djangoreactjsrestdjango-rest-frameworkreact-redux

解决方案


David Nováks评论解决:

  • 在我的 django 项目中安装了django-cors-headers 。
  • 将我的 React 服务器托管地址添加到 CORS_ORIGIN_WHITELIST。

推荐阅读