问题描述
使用axios发送请求, 报错, 是跨域的错误. 但在控制台的response中正确获取数据. 使用jquery的ajax方法, 一切正常. 因为axios是promise对象, 所以catch捕获了错误, 无法获取数据.
2.错误截图:
3.具体代码:
在网上找到主流解决方式, 未解决
问题描述
使用axios发送请求, 报错, 是跨域的错误. 但在控制台的response中正确获取数据. 使用jquery的ajax方法, 一切正常. 因为axios是promise对象, 所以catch捕获了错误, 无法获取数据.
2.错误截图:
3.具体代码:
在网上找到主流解决方式, 未解决
因为axios在判断当前是跨域请求的时候,是发送的options请求,而你访问的接口没有设置CORS,也就是 Access-Control-Allow-Origin: *
,所以会被当错误catch到。但实际能访问到的原因可能是你用了vpn之类的,这种让后台接口的响应头里面加一下 Access-Control-Allow-Origin: *
就行了。
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
服务器不支持跨域造成的, 需要在本地开启代理, 代码上线后, 直接就在服务器上面了, 同一个域名下, 没有了跨域.