跨域的方式有很多种,但是主流的方式主要是以下两种:
CORS 跨域资源共享(Cross Origin Resource Sharing)
这种方式对前端来说和平时发请求写法上没有任何区别,工作量基本都在后端这里。每一次请求浏览器必须先以 OPTIONS 请求方式发送一个预请求,从而获知服务器端对跨源请求所支持 HTTP 方法。在确认服务器允许该跨源请求的情况下,以实际的 HTTP 请求方法发送那个真正的请求。推荐的原因是只要第一次配好了,之后不管有多少接口和项目复用就可以了,一劳永逸的解决了跨域问题,而且不管是开发环境还是测试环境都能方便的使用。
webpack 的 proxy代理
在dev 开发模式下可以下使用webpack
的proxy
代理。具体使用方法可以看下具体文档。但这种方法在生产环境中是不适用的,在生产环境中需要使用Nginx
反向代理。不管是 proxy
和nginx
的原理都是一样的,通过搭建一个中转服务器来转发请求规避跨域的问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。