理解跨域的概念: 协议 、 域名 、 端口 都相同才同域 否则都是跨域
跨域就指浏览器不允许当前页面的所在源,去请求另一个源的数据
1) 通常问的最多的就是跨域代理
在Vue中 , 主要通过Vue 脚手架 中的vue.config.js 文件来配置的 通过在devserve 中的proxy 来配置跨域的前缀
module.exports = { devServer: { proxy: 'http://localhost:4000' } }
Jsonp 是解决跨域的一种解决方案 , 实现原理主要是利用动态创建 script 标签, 设置src 属性 ,页面要提前定义好 callback 后端会返回回调函数执行,并包裹参数callback(data)
callback 中的参数就是json
cors 是一种跨域解决方案 ,它使用额外的http头来告诉浏览器让运行在一个origin 上的web 应用被准许访问来自不同源服务器上的指定资源 , 当一个资源从与该资源本身所在的服务器不同的域 、 协议或端口 请求一个资源的时,资源会发起一个跨域的http 请求