繁体   English   中英

请求标头字段在飞行前响应中,Access-Control-Allow-Headers不允许进行授权。 (节点,反应,axios)

[英]Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response. (node, react, axios)

这是在我的server.js中:

app.use(helmet())
app.options('*', cors())
app.use(function (req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*')
  res.setHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE,OPTIONS')
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type,Cache-Control')
  if (req.method === 'OPTIONS') {
    res.sendStatus(200)
  } else {
    next()
  }
})

我有一个基本的节点/ webpack /反应情况。 我正在使用axios在客户端中提出请求。 我知道该请求是可靠的,因为我已经对它进行了单独测试。 我也尝试过发现/想到的Access-Control-Allow-xxxxx每种组合。 这个中间件一定要有东西。 任何帮助/见解将不胜感激!

我假设您正在尝试从客户端到Express / Node服务器进行api调用,是吗? 您是否尝试过使用代理?

尝试将服务器的端口设置为localhost:5000。 然后尝试

app.use(cors()) 

代替

app.options('*', cors())

然后回到您的React package.json中的客户端,只需添加一个代理

  },
  "proxy": "http://localhost:5000"

或服务器所在的任何端口。

那应该解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM