跨域:在跨域问题中,服务器是接收到了浏览器的请求,并且浏览器获取到了服务器的返回数据,但浏览器发现请求涉及跨域后并不会把数据给接口调用者
解决跨域的方法
cors:优点,仅需后端做处理,在响应请求头里添加一些特殊的信息让浏览器支持跨域访问接口,缺点,任何人都可以随便访问你服务器中的数据
jsonp(很少用):jsonp利用script的src请求不受同源策略的影响来解决跨域,缺点,前端得特殊处理请求,并且需要后端配合,只能支持get请求
使用代理服务器(常用):原理,代理服务器端口号始终和本地浏览器的协议名,主机名,端口号保持一致,本地浏览器通过代理服务器去访问服务器上的数据就不会有跨域问题
代理服务器实现的方法:
-
Nginx(需要对后端有一定了解,前端学习成本大)
-
Vue-cli
-
-
在接口请求的时候端口号得写本地端口号了,而不是服务器端口号
-
缺点:1.本地public文件夹里面有请求数据时代理服务器不 会 再去请求服务器里的数据
2.不能配置多个服务器端口 -
解决这两个缺点的方法: