【问题标题】:React, Axios issue: Response for preflight has invalid HTTP status code 401React,Axios 问题:预检响应具有无效的 HTTP 状态代码 401
【发布时间】:2018-06-17 01:05:02
【问题描述】:

我正在使用 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”扩展,但没有用。

【问题讨论】:

    标签: javascript react-redux axios http-status-code-401


    【解决方案1】:

    当您通过浏览器进行 CORS 时,会自动发送 OPTIONS 请求,并且只有当 OPTIONS 返回 OK 时,才允许使用 CORS。 POSTMAN 不存在 OPITONS,因此 POSTMAN 可以发送成功。因此,您应该让您的后端工程师过滤 OPTIONS 请求。

    【讨论】:

      【解决方案2】:

      代码 401 表示未经授权,因此如果该 api 将您扔到 401,那么问题可能来自您的后端,我怀疑它来自 CORS,因为该错误确实会将您指向 cors。尝试从您的后端询问验证,但根据您在 axios 和 postman 中的代码,我看不出有什么区别。

      【讨论】:

        猜你喜欢
        • 2017-03-15
        • 2018-07-01
        • 2017-07-02
        • 2023-04-10
        • 2018-10-02
        • 1970-01-01
        • 2018-09-06
        • 2018-09-30
        • 1970-01-01
        相关资源
        最近更新 更多