【发布时间】:2017-11-29 03:24:38
【问题描述】:
我在 vue 中使用 axios 库在 Trustpilot 上进行身份验证(带有标头的 POST),但浏览器发送了一个 pre-fligth 调用,并且 Trustpilot API 以错误响应我,因为不允许使用 OPTION 方法。
我认为身份验证请求是一个简单的请求(https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS),但 axios 将其作为一个不简单的请求,并且浏览器调用了一个 pre-fligth 请求。有解决这个问题的方法吗?
谢谢
【问题讨论】:
-
你想发送什么?补充问题,您是否注意到:“在如图所示的“基本”身份验证的情况下,交换必须通过 HTTPS (TLS) 连接进行才能安全。”?
-
我的代码是这样的:this.axios.request({ url: 'api.trustpilot.com/v1/oauth/…', method: 'POST', data:{ 'grant_type': 'password', 'username': ' xxxxxx@xxxxxx.com', 'password': 'xxxxxx' }, headers:{ 'Authorization': 'Basic XXXXXXXXXXXX', 'Content-Type': 'application/x-www-form-urlencoded' } })跨度>
-
响应是这样的(对于 OPTION 方法)发送:XMLHttpRequest 无法加载api.trustpilot.com/v1/oauth/…。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
标签: api axios preflight trustpilot