Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决django graphql服务器和前端react axios不允许的错误405方法_Python_Django_Reactjs_Graphql_Axios - Fatal编程技术网

Python 如何解决django graphql服务器和前端react axios不允许的错误405方法

Python 如何解决django graphql服务器和前端react axios不允许的错误405方法,python,django,reactjs,graphql,axios,Python,Django,Reactjs,Graphql,Axios,您好,我很难解决这个问题,我有djangographql服务器,它正在为我的本地机器端口运行8000,当我在失眠中查询时,一切正常,但我正在与前端reactjs和axios集成,我遇到错误: xhr.js:178 OPTIONS http://127.0.0.1:8000/graphql/ 405 (Method Not Allowed)[enter image description here][1] Mysettings.py来自Djangographql服务器 我的前端请求来自React

您好,我很难解决这个问题,我有django
graphql
服务器,它正在为我的本地机器端口运行
8000
,当我在失眠中查询时,一切正常,但我正在与前端
reactjs
axios集成,我遇到错误:

xhr.js:178 OPTIONS http://127.0.0.1:8000/graphql/ 405 (Method Not Allowed)[enter image description here][1]
My
settings.py
来自Django
graphql
服务器

我的前端请求来自
ReactJs
使用
Axios

export function getProducts(args = {}) {
  return (dispatch) => { // optionally you can have getState as the second argument

    dispatch({type: HOME_GET_PRODUCTS_BEGIN});

    const promise = new Promise((resolve, reject) => {
      const query = {
        url: 'http://127.0.0.1:8000/graphql/',
        method: 'POST',
        headers: {
          "Accept": "application/json",
          'Content-Type': 'application/json'
        },
        data: {
          query: `products{
                  userKey{
                  id
                  username
                  email
                  password
                }
                id
                title
                price
                image
              }
          `,
      },
    };
    axios(query).then(
      (res) => {
        dispatch({
          type: HOME_GET_PRODUCTS_SUCCESS,
          data: res.data,
        });
        resolve(res);
      },
      // Use rejectHandler as the second argument so that render errors won't be caught.
      (err) => {
        dispatch({
          type: HOME_GET_PRODUCTS_FAILURE,
          data: { error: err },
        });
        reject(err);
      },
    );
  });

return promise;
  };
}

请告诉我需要帮助

这看起来像是您的CORS中的问题。如您所见,客户端发送
选项
替代
POST
。若页面的域、主机或端口与端点不同,则浏览器会对任何不安全的方法请求执行所谓的飞行前检查

如果是这种情况,请使用,并将127.0.0.1添加到允许的主机列表中