跨域问题以及使用vscode的LiveServer插件跨域访问

目录

  • 现象
  • 跨域问题的定义(文心一言)
  • 解决办法
    • 同源部署
    • 后端
    • 代理
      • VS Code + LiveServer

现象

以下前端代码部署后,在网页访问时报错:No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

$.ajax({
	url: 'http://192.168.31.22:10004/searchPicTags',  //真实地址
	type: 'POST',
	data: JSON.stringify({ tags: "T恤,短袖" }),
	contentType: 'application/json',
	success: function(response) {
		const data = response.data;
		alert("fetchData " +JSON.stringify(response));
		renderCardData(data);
	},
	error: function(xhr, status, error) {
		console.error('Error fetching data:', error);
		layer.msg('数据加载失败,请重试!');
	}
});

跨域问题的定义(文心一言)

跨域问题(Cross-Origin Resource Sharing,CORS)是指在Web开发中,当一个网页尝试访问另一个与其不同源(即域名、协议或端口号不同)的资源时,浏览器出于安全考虑,会限制这种跨源HTTP请求。跨域问题本质上是由于浏览器的同源策略(Same-Origin Policy)所导致的。同源策略是一种浏览器安全机制,它限制了从一个源加载的文档或脚本与另一个源的资源进行交互。

解决办法

同源部署

避免垮域问题,比如直接把前端包部署在后端java spring服务的static文件夹下。只适合简单项目,不适合前后端分离架构。

后端

  • 通常在后端解决,比如允许特定的源,又比如使用@CrossOrigin注解来允许跨域请求。
  • WebSockets协议允许跨源通信,不受同源策略的限制。因此,可以使用WebSockets来解决跨域问题。但需要注意的是,WebSockets主要用于实时通信场景,而不是简单的HTTP请求。(文心一言)

代理

比如前端开发的时候配下 webpack 的 devserver 的 proxy 代理。部署生产环境时用nginx转发。

我开发某前端程序时是用VS Code + LiveServer插件来调试的,突然想到 Live Server作为web服务器难道不能配置代理吗,这样我就不用辛苦在我本地去另外装webpack或者nginx了。试了下果然行:

VS Code + LiveServer

Live Server插件设置界面:
在这里插入图片描述
settings.json界面:
在这里插入图片描述
true 表示启用代理
/searchPicTags 代表匹配127.0.0.1:5500中一旦匹配到/searchPicTags就使用下面配的代理地址。1

前端代码改访问url:

$.ajax({
	// url: 'http://192.168.31.22:10004/searchPicTags',  //真实地址
	url: 'http://127.0.0.1:5500/searchPicTags',   //代理地址
	type: 'POST',
	data: JSON.stringify({ tags: "T恤,短袖" }),
	contentType: 'application/json',
	success: function(response) {
		const data = response.data;
		alert("fetchData " +JSON.stringify(response));
		renderCardData(data);
	},
	error: function(xhr, status, error) {
		console.error('Error fetching data:', error);
		layer.msg('数据加载失败,请重试!');
	}
});

重启live server后,问题解决。


  1. vscode本地h5请求跨域代理live-server ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/911196.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python基础学习_01

目录 1、注释 2、数字和数学计算 3、变量 4、字符串 5、打印 6、本节总结 1、注释 • 什么是注释? 1)注释就是用自然语言向代码阅读者说明代码的功能和意义 • 注释 1)单行注释使用 # 为开头;并且不能换行…

C语言复习第9章 字符串/字符/内存函数

目录 一、字符串函数1.1 读取字符串gets函数原型Example 1.2 字符串拷贝strcpy函数原型模拟实现官方源码 1.3 求字符串长度strlen函数原型关于返回值size_与算术转换的一个易错点模拟实现:递归模拟实现:指针-指针模拟实现:暴力官方源码 1.4 字符串追加strcat函数原型注意自己给…

使用Matlab神经网络工具箱

综述 在大数据和人工智能时代,神经网络是一种最为常见的数据分析和拟合工具。本报告以常用分析软件Matlab为例,介绍其中神经网络工具箱使用方法。 Step 1: 打开matlab 安装matlab 2018以上版本后,双击图标打开。 Step 2: 打开神经网络拟合…

ffmpeg视频滤镜:组合两个视频为立体视频- framepack

视频描述 framepack 官方网址 > FFmpeg Filters Documentation 这个滤镜会将两个视频进行组合,有个前提是这两个视频的帧率、分别率必须一样。比如输入的是两个852x480 视频,输出可能是1704*480(左右拼接)、852*960&#xf…

Spring Security 框架篇-深入了解 Spring Security 的授权核心功能(RBAC 权限模型、自定义异常处理器、校验权限方法)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 权限系统 1.1 引入 1.2 RBAC 权限模型 1.3 数据库设计 2.0 Spring Security 核心功能-授权 2.1 思路分析 2.2 编写 SQL 语句 2.3 将用户权限进行封装 2.4 获取用户…

STM32G0xx使用LL库将Flash页分块方式存储数据实现一次擦除可多次写入

STM32G0xx使用LL库将Flash页分块方式存储数据实现一次擦除可多次写入 参考例程例程说明一、存储到Flash中的数据二、Flash最底层操作(解锁,加锁,擦除,读写)三、从Flash块中读取数据五、测试验证 参考例程 STM32G0xx HAL和LL库Flash读写擦除操…

Spark SQL大数据分析快速上手-DataFrame应用体验

【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书 大数据与数据分析_夏天又到了的博客-CSDN博客 本节主要介绍如何使用DataFrame进行编程。 4.1.1 SparkSession 在旧版本中,Spark SQL提供…

QT信号和槽与自定义的信号和槽

QT信号和槽与自定义的信号和槽 1.概述 这篇文章介绍下QT信号和槽的入门知识,通过一个案例介绍如何创建信号和槽,并调用他们。 2.信号和槽使用 下面通过点击按钮关闭窗口的案例介绍如何使用信号和槽。 创建按钮 在widget.cpp文件中创建按钮代码如下 …

YOLO11改进 | 融合改进 | C3k2融合 Context Anchor Attention 【两个版本融合-独家创新】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 本文给大家带来的教程是将YOLO11的C3k2替…

机械制造工控自动化监控界面:功能与美观兼具

机械制造工控自动化监控界面需做到功能与美观兼具。在功能方面,清晰展示设备运行状态、参数指标等关键信息,提供实时监控和预警功能,确保生产安全高效。 界面布局应合理,操作简便,便于工作人员快速掌握和操作。而在美…

SpringBoot项目集成ONLYOFFICE

ONLYOFFICE 文档8.2版本已发布:PDF 协作编辑、改进界面、性能优化、表格中的 RTL 支持等更新 文章目录 前言ONLYOFFICE 产品简介功能与特点Spring Boot 项目中集成 OnlyOffice1. 环境准备2. 部署OnlyOffice Document Server3. 配置Spring Boot项目4. 实现文档编辑功…

explain执行计划分析 ref_

这里写目录标题 什么是ExplainExplain命令扩展explain extendedexplain partitions 两点重要提示本文示例使用的数据库表Explain命令(关键字)explain简单示例explain结果列说明【id列】【select_type列】【table列】【type列】 【possible_keys列】【key列】【key_len列】【ref…

AIDOVECL数据集:包含超过15000张AI生成的车辆图像数据集,目的解决旨在解决眼水平分类和定位问题。

2024-11-01,由伊利诺伊大学厄巴纳-香槟分校的研究团队创建的AIDOVECL数据集,通过AI生成的车辆图像,显著减少了手动标注工作,为自动驾驶、城市规划和环境监测等领域提供了丰富的眼水平车辆图像资源。 数据集地址:AIDOV…

24/11/7 算法笔记 PCA主成分分析

假如我们的数据集是n维的,共有m个数据(x,x,...,x)。我们希望将这m个数据的维度从n维降到k维,希望这m个k维的数据集尽可能的代表原始数据集。我们知道数据从n维降到k维肯定会有损失,但是我们希望损失尽可能的小。那么如何让这k维的数据尽可能表…

2-142【软件无线电原理与应用作业】基于matlab的圆形阵列的波束形成进行仿真

【软件无线电原理与应用作业】基于matlab的圆形阵列的波束形成进行仿真,具有14页文档。假设发射信号载频为1GHz,圆形阵列半径为0.8米,在圆周上均匀布置30个阵元。1.画出指向0度的方向图。2.如果目标在0度,有一不相干的干扰信号在3…

<项目代码>YOLOv8 苹果腐烂识别<目标检测>

YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv8具有更高的…

python练习相关代码

一元二次方程的求根公式为&#xff1a; import mathdef quadratic(a, b, c):discriminant b**2 - 4*a*cif discriminant < 0:return Noneelif discriminant 0:return [-b / (2*a)]else:root1 (-b math.sqrt(discriminant)) / (2*a)root2 (-b - math.sqrt(discriminant)…

2024软件测试面试热点问题

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 大厂面试热点问题 1、测试人员需要何时参加需求分析&#xff1f; 如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工…

windows、linux安装jmeter及设置中文显示

系列文章目录 1.windows、linux安装jmeter及设置中文显示 2.jmeter常用配置元件介绍总结之安装插件 3.jmeter常用配置元件介绍总结之取样器 windows、linux安装jmeter及设置中文显示 前言一、jdk安装1.windows安装jdk1.1.复制环境变量快捷跳转 2.linux安装jdk 二、下载安装jmet…

各种数据库介绍

1. 关系型数据库&#xff08;RDBMS&#xff09; MySQL • 特点&#xff1a;开源、免费&#xff0c;社区版功能强大且稳定。支持大量的并发连接&#xff0c;常用于Web应用。 • 适用场景&#xff1a;中小型网站、博客、电商等。 PostgreSQL • 特点&#xff1a;功能丰富&#xf…