【问题标题】:axios.get request returning GET,HEAD as responseaxios.get 请求返回 GET,HEAD 作为响应
【发布时间】:2020-03-17 11:39:35
【问题描述】:

我正在使用 React、Redux、Node、Axios 并使用 mongoose-paginate-v2 为我的请求添加分页。我的 axios.get 看起来像这样:

export const getUsers = (page) => {
  return (dispatch, getState) => {
    axios.get(`${USERS_ENDPOINT}/${page}`,
      {
        headers: {
          Authorization: `${USERS_TOKEN}`,
          "token": cookies.get('token')
        }
      })
      .then(async response => {
        dispatch({
          type: GET_USERS,
          payload: response.data.list,
          page: page
        });
      }).catch(e => { console.log(e); return e })
  }
}

我的 rest-api 函数如下所示:

app.get('/allusers/:page', auth, (req,res)=>{
  console.log('req',req)
  let log={}
  Object.assign(log,{header:req.headers,body:req.body,query:req.query,params:req.params})
  request(uri,USERS_FILTER,{token: req.header('token'), page:req.params.page
}).then(result => {
    res.status(200).send(result);
  }).catch(error => {
    logger.error('log error',{error:error})
    if(error.response.errors[0].message==='Error: 401'){
      res.status(401).send('Not Permitted');
    }else{
      res.status(500).end(); // Or other error handling
    }
  });
  logger.info('users request log',log)
});

当我用邮递员测试它时,我的后端工作正常,但是当我使用我的 UI 发送请求时,我得到状态 200 和 GET, HEAD 作为响应,当使用邮递员时,我得到一个标签与我的用户。 这是我的请求的屏幕截图:

PS:我正在使用:

  • 节点 v12.6.0
  • 反应 v16.6.3
  • express v4.16.3

【问题讨论】:

  • 在 chrome 开发工具中显示“常规”表
  • @kinduser 我在我的开发工具上找不到“常规”选项卡
  • 谢谢。那正是我所想。这只是“选项”请求,甚至没有触发“获取”请求。
  • @asma 那么请求一定没有到达正确的服务器,或者它被另一个中间件停止并发回。
  • 传出的 OPTIONS 方法只是询问服务器允许什么样的请求。 GET, HEAD 是它的答案。

标签: javascript node.js reactjs express axios


【解决方案1】:

我使用corshttps://www.npmjs.com/package/cors 解决了这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2011-12-11
    • 2018-10-19
    • 2020-08-27
    相关资源
    最近更新 更多