美文网首页
vue中 用proxy 代理解决跨域的问题

vue中 用proxy 代理解决跨域的问题

作者: 方_圆 | 来源:发表于2022-03-29 14:11 被阅读0次


    vue 跨域问题

    一般出现跨域问题,,就是url中的三部分 可能有不一样的,,域名 或者协议,或者端口不一样。因为浏览器的同源策略,所以如果两个路径url的协议、域名、端口都相同则表示再同一个域上,可以进行相互访问,也是确保浏览器安全的重要策略,如果没有同源策略:在一个域上程序不允许访问另一个域上文本 ,不然通过添加 javaScript 脚本就可以轻松获取到用户信息.

    目前了解到的是:在vue.config.js中配置 proxy,进行代理跨域处理

    proxy: {

    //将来只要是路径以/music开头,就会被代理到target。

    //比如说路径是/music/list/sfads···等等。

    //会自动写成:target /list/sfads···,也就是https://xxxxxx/xxxx/fxxxxxcgi-bin/ list/sfads 相当于在地址中匹配到了/music ,就会用用空来替换/music,,然后再用target和后面进行一个拼接。(https://c.y.qq.com/mv/fcgi-bin//list/sfads,如果 pathRewrite: { “^/music”: “/musicmv” },那么新的地址中/music就会变为/musicmv,也就是https://c.y.qq.com/mv/fcgi-bin//musicmv/list/sfads)

    //pathRewrite可以把music转成空的。pathRewrite: { “^/music”: “” },

    或者可以把music转成其他www.baid/的pathRewrite: { “^/music”: “www.baidu/” },

            "/music": {

                target: "https://xxxxxx/xxxx/fxxxxxcgi-bin/",

                pathRewrite: { "^/music": "" },

            },

        },

    一般在代码中请求数据 都是客户端到服务端

    但是设置代理以后 就会从本地服务端 到服务端

    例如项目中 后端的接口是https*****前端部署到http上以后,1页面请求不到数据,就是跨域访问了,所以应该在前端中进行配置代理,,也应该是target :”https****”,这样的话就是 https到https的访问了 就可以了

    相关文章

      网友评论

          本文标题:vue中 用proxy 代理解决跨域的问题

          本文链接:https://www.haomeiwen.com/subject/nbaijrtx.html