概念
跨域形成可以查看源解释;跨域访问可以看 跨源资源共享(CORS)
推荐统一跨域最佳方案 CORS
模拟场景
假设你已经掌握 nodejs 搭建项目;
流程:本地环境搭建 node 项目 A,和 node 项目 B,使用 axios,进行跨域调用;
场景 1,不带任何凭证(cookie)进行通信
使用 res.setHeader('Access-Control-Allow-Origin', '*'); 即可。
场景 2,带凭证(cookie)进行通信
使用 res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000'); *不能使用,需要一一指定即可。
场景 3,带凭证(cookie)进行通信,触发预检请求
- 非安全列表请求标头 都会触发,服务器就要支持浏览器默认行为 options 的请求处理。
记录: axios onUploadProgress 和 onDownloadProgress 不适用于 CORS,触发预检
其他方案
略