前(Vue)后端(Java)联合开发项目总结

遇到的问题就是前后端数据的传输,前端跨域,可以在后台配置跨域也可以在前端配置跨域,首先要知道什么是跨域,跨域是浏览器厂商指定的同源策略导致的,必须要是同样的协议同样的域名同样的端口号发送请求才可,否则浏览器会将请求拦截。
前端如何解决vue/cli里有一个通过代理的方式来解决跨域请求
在vue.config.js中进行如下跨域代理设置

devServer: {
    proxy: {
      "/api": {
        target: "http://qwerasd.vaiwan.com/",
        changeOrigin:true,
        pathRewrite: {
          /* 重写路径,当我们在浏览器中看到请求的地址为:/api/…… 时
            实际上访问的地址是:http://"你请求的后台地址.com/……",因为重写了 /api
           */
          "^/api": "",
        },
      },
    },
  },
  publicPath: process.env.NODE_ENV === 'production'
    ? '/wlzw/'
    : '/'

在请求中这样发送

this.$http.post.get('/api/list')

然后发送请求带上/api,最终发出去的请求格式会想这样

http://127.0.0.1:8000/api/list

当发送请求时会进行路由规则匹配发现没有这个/api这个路径,就会执行devserve中的proxy下的target下设置的代理路径,之后会进行pathRewrite执行路径的重写操作将请求中的/api替换为空,所以最后发送的请求就是devserve下的target的代理路径再拼接上前端/api后的内容

// 这就是前端向后端发送的请求

http://qwerasd.vaiwan.com/list

版权声明:本文为pymlist原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。