跨域问题为什么会产生,如何解决跨域问题(Vue)
一. 跨域问题产生的原因:前端请求地址和后端服务器地址不同如果二者: 域名,协议,端口号 有一个不相同,就会产生跨域问题注意:本质上还是浏览器的同源策略(域名,协议,端口号 三者完全相同)二. 解决方案前端用JSONP方式去发请求后端写代码(CORS)在响应中添加必要的响应头代理转发(前端操作)三. 代理转发实操在vue.config.js 文件中添加如下配置module.exports = {d
·
一. 跨域问题产生的原因:
- 前端请求地址和后端服务器地址不同
如果二者: 域名,协议,端口号 有一个不相同,就会产生跨域问题
注意:本质上还是浏览器的同源策略(域名,协议,端口号 三者完全相同)
二. 解决方案
- 前端用JSONP方式去发请求
- 后端写代码(CORS)在响应中添加必要的响应头
- 代理转发(前端操作)
三. 代理转发实操
- 在vue.config.js 文件中添加如下配置
module.exports = {
devServer: {
// 代理转发
proxy: {
// .env.development 文件中 VUE_APP_BASE_API = '/dev_api'
'/dev_api': {
//服务器请求的地址
target: 'http://localhost:3000/',
// 是否跨域 布尔值(true/false)
changeOrigin: true,
// 路径重写 如果,所有的请求路径都没有 '/api' ,可以将其替换为空字符串''
pathRewrite: {
'/dev_api': '/api'
}
}
}
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)