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


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的访问了 就可以了


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容