跨域产生
跨域是相对于同源而言。协议、域名和端口均相同,则为同源。
浏览器通过同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互。
解决方案
在vue.config.js中
module.exports = {
// 反向代理
devServer: {
proxy: {
// 配置跨域
'/api': {
target: 'http://vuets-api.herokuapp.com/api/', // 接口地址
ws: true, // 是否启用websockets
changeOrigin: true, // 开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
pathRewrite: {
'^/api': '' // 重写地址,将前缀/api转为/
}
}
}
}
}