问题重述
报错如下:
p://localhost:8080/user/getInfo' from origin 'http://localhost:8888' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
CORS跨域问题
这个CORS,是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)需要浏览器和服务器同时支持。
所有浏览器都支持该功能。
在封装的ajax中添加baseURL,如果没有封装,则在main.js中添加
axios.defaults.baseURL = '/api'
在vue.config中添加下面的代码
proxy: {
//代理的根路径
'/api': {
//代理的后端路径
target: 'http://localhost:8080',
//是否开启根路径转换 123
changeOrigin: true,
//代理路径更改
pathRewrite: {
'/api':''
}
}
}
重新运行,跨域问题得到解决
解决: