什么是跨域?
指的是浏览器不能执行其他网站的脚本,简单来说是浏览器同源政策的限制,浏览器针对于ajax的限制。
同源政策:两个页面拥有相同的协议,端口,域名 就是同源,如果有一个不相同就是不同源。
同源政策产生的目的:保护用户信息安全,防止一些网站盗取用户信息。
什么是代理?
代理是webpack提供给我们的,常说的代理就是一个代理服务器,例如A服务器请求B服务器,我们可以通过代理C服务器去帮助我们请求 , 产生的跨域原因就是浏览器的同源政策是针对于ajax的请求,并不限制服务器之间的通信传输,而这个代理服务器正是和我相同端口域名的,我只需去用代理服务器去发请求再去接收,从而达到跨域
解决跨域问题
1. vue.config.js中配置项
devServer:{
proxy: {
'/api': {// api指的是以api开头的接口
target: '我们要代理的真实接口地址' //
}
},
}
2. 将封装好的request接口里面的基地址设为空或者删除,此时发请求默认的接口就是vue-cli生成的地址
const request =