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

前端基础之《Vue(23)—跨域问题》

一、跨域问题说明

1、每一个“域”都由协议、IP地址和端口号,这三部分组成。那么什么是跨域?当你从当前域访问另一个域时,如果上述三个部分有任何一个部分不相同,就是跨域

比如:http://localhost:8080  -->  http://localhost:9999  是跨域

2、为什么跨域浏览器会拒绝
在所有浏览器中都内置了一个安全策略,叫做CORS同源策略,这个同源策略有什么特点呢?同源策略会阻塞ajax跨域请求。

3、在8080端口上,使用ajax请求9999服务器接口,会被阻塞吗?
如果这件事发生在浏览器中,必然会被阻塞。如果发生非浏览器环境,比如node环境中,肯定不会被阻塞。

4、在8080端口上,使用JSONP请求9999服务器接口,会被阻塞吗?
肯定不会,因为JSONP不是ajax。哪怕这个行为发生在浏览器中,也不会被阻塞。

5、以浏览器环境为例,你有哪些解决跨域被CORS阻塞的方案呢?
(1)使用JSONP
因为JSONP不是ajax,同源策略管不了。但是JSONP只能解决GET请求的跨域问题。
(2)CORS
要求在后端服务器配置CORS的header字段,这种做法相当于把后端接口变成了开源接口。
(3)代理
在本地开发中,我们使用webpack做代理;在生产环境下,我们使用nginx做代理。

6、vue.config.js

const { defineConfig } = require('@vue/cli-service')// 这是@vue/cli这个脚手架指定的配置文件,它的背后是webpack
// 配置文件修改后,务必要重启
module.exports = defineConfig({transpileDependencies: true,devServer: {// 当vue项目中使用ajax发起请求时,如果请求路径中有/api,表示匹配成功// 背后的node服务就会将其代理到target远程服务器上proxy: {'/api': {target: 'http://localhost:9999',  // 是真实服务器地址changeOrigin: true}}}
})

7、为什么代理可以解决跨域问题
保证了ajax同域请求。

http://www.lryc.cn/news/591933.html

相关文章:

  • 如何区别HTML和HTML5?
  • 格式转换Total Excel Converter:20 种格式XLS XLSX 批量转 PDFWord
  • 国产替代:ASP4644在电信通信设备中的测试与应用前景
  • 中国工业RFID前三品牌
  • 微型导轨在消费电子领域如何凸显高精度技术?
  • Spring介绍以及IOC和AOP的实现
  • 行为型设计模式:解释器模式
  • 2026python实战——如何利用海外代理ip爬取海外数据
  • ​​Docker 速通教程
  • 【Docker#2】容器历史发展 | 虚拟化实现方式
  • Delphi EDI 需求分析与对接指南
  • Docker 与 GPU 训练
  • 【Docker】在Linux环境下使用Dockerfile打包镜像(图文示例)
  • 深入浅出MyBatis缓存:如何让数据库交互飞起来
  • 无标记点动捕:如何突破传统娱乐边界,打造沉浸式交互体验
  • vscode的终端运行目录修改为当前文件的路径下
  • C#通过HslCommunication连接西门子PLC1200,并防止数据跳动的通用方法
  • 异世界历险之数据结构世界(排序(插入,希尔,堆排))
  • CentOS7下的ElasticSearch部署
  • 2025年6月电子学会全国青少年软件编程等级考试(Python一级)真题及答案
  • TL1A靶点:自免炎症领域的“潜力之星”
  • chainlink VRF中文教程(含mock),解决error: Arithmetic Underflow in createSubscription
  • Elasticsearch 和 solr 的区别
  • Prometheus错误率监控与告警实战:如何自定义规则精准预警服务器异常
  • 大数据时代下的时序数据库选型指南:基于工业场景的IoTDB技术优势与适用性研究
  • LiteCloud超轻量级网盘项目基于Spring Boot
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘django’问题
  • 第2章通用的高并发架构设计——2.5 高并发读场景总结:CQRS
  • JavaScript中的Window对象
  • 个人笔记(初级Linux运维设计脚本编写任务)