织梦CMS - 轻松建站从此开始!

abg欧博官网|登陆|游戏|

前端proxy代理的方式解决跨域

时间:2025-04-29 04:02来源: 作者:admin 点击: 21 次
文章浏览阅读1.1w次,点赞9次,收藏26次。主要思路:配置代理后发送的请求都是给本地服务器发送的,不会出现跨域的问题,但是我们最终目的是给后端服务器发请求,所以我们要通过代理把发送给本地服务器的请求映射到后端地址上1:把 baseURL 配置的后端接口改为 "/api"2:配置

Vue 2中的 Proxy 是一个强大的工具,它允许你在运行时动态地拦截并修改对象的操作。当你遇到前端跨域请求的问题时,可以利用 Vue 的配置文件(如 `config/index.js` 或者 `main.js` 中的 `devServer` 配置),通过设置 `proxyTable` 来解决。 `proxyTable` 是一个映射对象,它的键是你希望在应用内部使用的路径,值是一个对象,包含两个属性: 1. **target**: 要转发请求的实际 URL。例如,如果你有一个 API 接口在 `https://api.example.com`,这里会写成 `'/api'`。 2. **pathRewrite**: 用于重写目标路径的规则。如果需要将所有 `/api` 请求替换为实际的服务器地址,可以写成 `{ '^/api': '/api' }`。 例如配置如下: ```javascript // config/index.js 或 main.js devServer: { proxy: { '/api': { // 匹配 /api 开头的请求 target: 'https://api.example.com', // 实际请求的目标URL changeOrigin: true, // 允许跨域,某些服务器可能需要这个选项 pathRewrite: { '^/api': '' }, // 没有实际匹配到时,去掉前面的 "/api" } }, }, ``` 现在,当你在 Vue 应用中发送像 `this.$axios.get('/api/data')` 这样的请求时,实际上会被代理到 `https://api.example.com/data`,从而避免了浏览器默认的同源策略限制。

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-05-17 17:05 最后登录:2025-05-17 17:05
栏目列表
推荐内容