React,Axios 问题:预检响应具有无效的 HTTP 状态代码 401

React, Axios issue: Response for preflight has invalid HTTP status code 401

我正在使用 ReactJS 和 Axios 构建登录页面。我的团队已经启动了一个可以响应 Postman 请求的本地服务器。

由于某些原因,它在我的登录页面上不起作用。这是我的代码:

const request = axios.request({
    url: `http://codelab:20080/uaa/oauth/token?grant_type=password&username=thien&password=123456`,
    method: 'POST',
    headers: {
      'Authorization': "Basic YnJvd3Nlcjo=",
    }
  }).then(response => {
    console.log(response);
  }).catch(error => {
    console.log(error);
  });

错误:

我不确定导致我的代码失败的请求有哪些不同。我也安装了 "Allow-Control-Allow-Origin" 扩展,但没有用。

代码 401 表示未授权,因此如果 api 将您抛向 401,则问题可能来自您的后端 我怀疑它来自 CORS,因为该错误确实会将您指向 cors。尝试从您的后端请求验证,但根据您在 axios 和邮递员中的代码,我看不出有什么不同。

浏览器做CORS时会自动发送OPTIONS请求,只有当OPTIONS return OK时才允许CORS。 POSTMAN 不存在OPITONS,因此POSTMAN 可以发送成功。所以,您应该让您的后端工程师过滤 OPTIONS 请求。