0

我一直在试图弄清楚如何让这个 Vue 项目与 Lyft API 一起工作。我已经能够从三足过程中成功创建 Auth Token,但是我无法https://api.lyft.com/v1/ridetypeslocalhost:8080. 它确实适用于Postman

它一直在说:

从源“ http://localhost:8080 ”访问“ https://api.lyft.com/v1/ridetypes?lat=37.7752315&lng=-122.418075 ”的 XMLHttpRequest已被 CORS 策略阻止:对预检请求的响应不'不通过访问控制检查:请求的资源上不存在'Access-Control-Allow-Origin'标头。

我曾尝试使用vue.config.js文件做代理:

module.exports = {
    devServer: {
        proxy: {
            '/lyftapi': {
                target: 'https://api.lyft.com/v1',
                ws: true,
                changeOrigin: true
            }
        }
    }
}

我一直在 Stack Overflow 的其他地方,这是最接近我的问题的地方,但没有答案。

最近开始出现 Lyft API 中的 CORS 错误

有什么建议么?

Axios 接听电话

axios.get('/ridetypes', {
    baseURL: 'https://api.lyft.com/v1',
    headers: {
        'Authorization': this.lyftToken,
    },
    params: {
        lat: lat.toString(),
        lng: long.toString()
    }
})

如果这意味着什么,我可以成功地进行 GET 调用来检索 Uber 产品,但不是 Auth Token(除非它来自 Postman)。

4

1 回答 1

2

Lyft-API 已禁用 CORS,这意味着浏览器将阻止对api.lyft.com.

Vue 无法对此做任何事情,因为这是浏览器安全策略。

幸运的是,没有什么可以阻止您从自己的服务器进行此调用。

一种解决方案是使用您自己的服务器转发请求和响应。您向服务器发出呼叫,服务器向 lyft 发出呼叫,等待响应,然后响应您的请求。

不是 vue 唯一的解决方案

于 2019-03-04T14:07:00.510 回答