如何解决异步跨域问题

我们先了解一下什么是跨域

要了解跨域,就要先说说同源策略。同源策略是由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)
          })
        }
      }

猜你喜欢

转载自blog.csdn.net/Sunshine_GirlXue/article/details/102983603