前端跨域的几种方式?
跨域的条件有哪些:协议不同(http和https),端口不同(80和81),域名不同(baidu和google)只要符合一个既跨域;
1、动态标签
- jsonp:动态创建script标签,使用标签的src属性进行跨域,调用CallBack回调函数进行跨域;
- link:
- img:
2、cros
设置请求头,一般做白名单处理,其他服务器发送的请求不接受;
Access-Control-Allow-Origin: 服务器可接受的请求来源
Access-Control-Request-Method: 服务器实际请求所使用的 HTTP 方法
Access-Control-Request-Headers: 服务器实际请求所携带的自定义首部字段。
3、nginx转发
利用location进行正则匹配转发到指定的域名;
location ^~ /api/ {
proxy_pass https://example.com
}
当然还有一些其他的不常用的跨域方式:
4、document.domain
5、window.name
6、location.hash
7、https-proxy
8、websocket
等

浙公网安备 33010602011771号