【问题标题】:Post request using axios fails with "Response for preflight is invalid" error使用 axios 发布请求失败,并出现“预检响应无效”错误
【发布时间】:2018-05-28 02:50:49
【问题描述】:

我使用 axios 从我的 Web 前端向第 3 方 api 发出以下发布请求,但它无法通过。

  Axios({
    method: 'post',
    url: 'https://some.website.com/oauth/token',
    data: {
     client_secret: 'revmisodtoire43-00j232onfkdl',
     code: '54728349765905473289',
     grant_type: 'authorization_code'
    }
  })
  .then(res => {
    console.log('client info: ', res);
  });

错误提示:Failed to load https://some.website.com/oauth/token: Response for preflight is invalid,然后是network error

当我通过 curl 发出相同的请求时,它毫无问题地通过了。

我知道这与 CORS 相关,但不确定如何处理。有什么建议吗?

【问题讨论】:

  • 如果您使用的是 3rd 方 api,您无能为力。 API 提供者应该支持 AJAX 调用。

标签: javascript reactjs cors axios


【解决方案1】:

检查是否在 header 中添加了 content-type,如果没有尝试添加这个 'Access-Control-Allow-Origin': '*' 在请求标头中

【讨论】:

  • 如果我错了请告诉我,但这应该是 api 提供者的服务器发送的响应标头的一部分。从发出请求的客户端发送它是没有用的。
  • 它应该是您的请求标头的一部分,因为您发出的请求超出了您的域,因此您需要发出 CORS 请求。
猜你喜欢
  • 2021-03-10
  • 2019-02-25
  • 2022-07-14
  • 2020-08-30
  • 2021-05-21
  • 2020-03-06
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多