当前位置: 首页 > news >正文

vue 脚手架解决跨域问题

一、什么是跨域

一个URL地址是由三部分组成的,分别是域名、端口、协议,只要是两个URL地址有一个部分不是相同的,就是跨域。如下:

域名跨域:www.example.com   和 www.anotherexample.com

端口跨域:8080 和 8098

协议跨域:https 和 http 、 http 和 ftp 等等

二、为什么会跨域

跨域的本质就是浏览器限制了请求的发送,只是在浏览器的页面中存在跨域一说。这是由于浏览器的同源策略引起的,同源策略是一种安全机制,用于防止一个网页获取另一个域名下的敏感信息。

在后端没有开启cors的情况下,浏览器的同源策略会直接限制后端返回的数据给到前端。这是因为我们目前所有的项目都是前后分离,前端一个服务, 后端一个服务,后端不开cors只能前端处理。

代理如何解决跨域呢?前端的请求不能直接到达后端,那就找一个中间代理,前端和中间代理之间域名、端口、协议都一致,就不会发生跨域问题。当请求到达代理服务器后,由代理服务器向后端发送请求。刚才不是说跨域是由域名、端口、协议不一致引起的吗?为什么代理服务器和后端之间确没有跨域呢?这是因为跨域是浏览器限制了请求,只是针对浏览器而言的。代理服务器是node, node 向后台发送请求自然不会有问题了。

 

三、解决跨域

在 vue.config.js 配置文件配置

 devServer: {
    port: port,
    open: true,
    overlay: {
      warnings: false,
      errors: true
    },
    proxy: {
      "/api": {   // 只要路径中带有 /api 这个路径,就会跳转到目标地址,并拼接后面的请求地址
        target: 'https://heimahr.itheima.net'  // 这里填写目标地址,即需要向哪台服务器请求数据,就写哪个服务器地址
      }
    }
    // before: require('./mock/mock-server.js')  // 基础模板做的模拟数据,会拦截请求
  },

http://www.dtcms.com/a/98379.html

相关文章:

  • 2022年12月青少年软件编程(图形化)等级考试三级编程题
  • 在树莓派5(8G版)上运行Ollama + LLM
  • NG-ZORRO中tree组件的getCheckedNodeList怎么使用
  • 26考研——排序_选择排序_选择排序的基本思想 简单选择排序(8)
  • 每天一篇目标检测文献(六)——Part One
  • 小林coding-12道Spring面试题
  • 自然语言处理(17:(第五章2.)梯度消失和LSTM(详细拆解))
  • WebSocket通信的握手阶段
  • 基于 WebAssembly 的 Game of Life 交互实现
  • ArrayList和LinkedList比较
  • 使用 Python 进行链上数据监控:让区块链数据触手可及
  • 深入解析音频:格式、同步及封装容器
  • SQL Server:sys.dm_hadr_physical_seeding_stats
  • 2023第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组(真题题解)(C++/Java题解)
  • [项目]基于FreeRTOS的STM32四轴飞行器: 十六.激光测距定高功能
  • 【Web前端】解锁JavaScript中Web存储API的秘密
  • LoRA 模型微调框架核心原理及实现步骤
  • 第7期:生成式AI伦理边界——当技术撞上道德与法律的防火墙
  • GHCTF-web-wp
  • AI人工智能-Jupyter NotbookPycharm:Py开发
  • 电池的知识
  • MySQL 语句
  • 洛谷题单1-P5708 【深基2.习2】三角形面积-python-流程图重构
  • 【数据结构与算法】Java描述:第六节:排序算法(直接插入排序,希尔排序)
  • 3.29-4nmon
  • Python包管理完全指南:pip常用命令与最佳实践
  • Java项目实现幂等性方案总结
  • CSS3学习教程,从入门到精通, CSS3 盒子模型的详细语法知识点及案例代码(23)
  • Spring AI MCP 架构详解
  • [笔记.AI]向量化