我们先了解一下什么是跨域
要了解跨域,就要先说说同源策略。同源策略是由Netscape公司提出的一个著名的安全策略。所有支持Javascript的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当页面在执行一个脚本时会检查访问的资源是否同源,如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问
解决跨域
首先:找到config文件下的index.js,其次找到index.js里的dev,最后找到dev内的proxyTable。这个时候proxyTable现在为空,
是这个样子的
dev: {
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable:{
}
}
然后:加入域名,是否同意跨域
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
"/api":{
target:"接口域名",
changeOrigin:true,//是否跨域
pathRewrite:{
"^/api":""//重写为空
}
}
}
最后:配置接口
return _http.request({
type:'post',
url:'api/private/v1/login',
data:{
username:obj.username,
password:obj.password
}
})
}
调用
register() {
let obj={
username:this.username,
password:this.password
}
if(obj.username=="admin"&&obj.password=="123456"){
_product.reg(obj).then(res=>{
console.log(res)
this.$router.push({
path:'/manage'
})
this.$message({
message: '恭喜你,登录成功',
type: 'success'
});
this.$store.commit("login",res.data.data.token)
})
}
}