无法从Django API

时间:2018-06-13 11:03:36

标签: django reactjs api axios

当我尝试点击Django API时,我遇到了这些错误。 我已经使用ReactJS作为Frontend和DjangoREST作为Backend。

当withCredentials设置为False时,我收到此错误。

  

无法加载https://retailo-dot-dogwood-keep-190311.appspot.com/admin/:请求标头字段Access-Control-Allow-Origin在预检响应中不允许使用Access-Control-Allow-Origin。   登录-form.jsx:58

当为True时,我收到了此错误。

  

无法加载https://retailo-dot-dogwood-keep-190311.appspot.com/admin/:对预检请求的响应未通过访问控制检查:' Access-Control-Allow-Origin'响应中的标题不能是通配符' *'当请求的凭据模式为' include'时。起源' http://localhost:3000'因此不允许访问。 XMLHttpRequest发起的请求的凭证模式由withCredentials属性控制。

我使用过Axios,这是我的代码。

     axios.get('https://retailo-dot-dogwood-keep-190311.appspot.com/admin/',{ 
        // withCredentials: true,
     headers: {
     'Access-Control-Allow-Origin': 'include',
     'Content-Type': 'application/json',
     },
    // credentials: 'same-origin',
    })
    .then(function (response) {
        console.log(response);
    })
    .catch(function (error) {
        console.log(error);
    });

1 个答案:

答案 0 :(得分:0)

这不是React的错误。这是你必须改变Django设置。 您已从Django端允许CORS

https://github.com/ottoyiu/django-cors-headers

请查看以上链接。根据该更改设置。