uniapp 解决 H5 跨域问题

server/2025/3/6 16:16:31/

使用 uniapp 开发 H5 应用时,若后端没有配置请求域名白名单则接口会出现 CORS 跨域问题,示例如下:

Access to XMLHttpRequest at 'http://www.baidu.cn/api/login' from origin 'http://localhost:5054' has been blocked by CORS policy: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.

此时前端可通过如下步骤配置解决此问题:

配置manifest.json文件

找到项目根目录中的 manifest.json 文件,打开该文件点击“源码视图”,在第一对 {} 中对 H5 平台配置代理服务器:

javascript">"h5": {"devServer": {"port": 5054, // 可自行修改,不和其他项目冲突即可(修改后需重新运行项目)"disableHostCheck": true,"proxy": {// 配置代理服务器来解决跨域问题,uniapp不适用CORS方案和设置JSONP方案"/api/": {// 映射域名"target": "http://www.baidu.cn", // 目标接口路径"changeOrigin": true,"secure": false,"pathRewrite": {"^/api": ""}}}},"optimization": {"treeShaking": {"enable": true}}}

配置请求文件的baseURL

还需要再修改项目中的全局请求的根域名,假设你的项目中全局的接口请求配置文件为 request.js 文件,示例代码如下:

javascript">// 初始化请求配置
uni.$u.http.setConfig((config) => {/* config 为默认全局配置*/// config.baseURL 用于配置项目请求的根域名// #ifdef H5config.baseURL = `http://192.168.0.2:5054/`; /* H5 平台需要使用本机IPV4+端口号的本地路径 */// #endif// #ifndef H5config.baseURL = `http://www.baidu.cn/`; /* 非 H5 平台则直接使用接口路径 */// #endif// 其他配置...config.custom.toast = true // 默认消息有msg会显示出来return config
})

注1:以上 request.js 文件的全局请求配置写法来源于 uview-plus 框架的 http 请求的全局配置示例。

注2:若需示例中的源码可访问 码云 uniapp-vue3-js 项目开发模板。


http://www.ppmy.cn/server/172910.html

相关文章

Java进阶:Zookeeper相关笔记

概要总结: ●Zookeeper是一个开源的分布式协调服务,需要下载并部署在服务器上(使用cmd启动,windows与linux都可用)。 ●zookeeper一般用来实现诸如数据订阅/发布、负载均衡、命名服务、集群管理、分布式锁和分布式队列等功能。 ●有多台服…

std::sort 排序算法本质

使用了内省排序(Introsort) 现代标准库实现中,std::sort 通常使用 内省排序(Introsort),它是一种混合排序算法,结合了以下三种算法的优点: 快速排序 作为主要算法,平均…

CELLO : Causal Evaluation of Large Vision-Language Models

CELLO: Causal Evaluation of Large Vision-Language Models - ACL Anthologyhttps://aclanthology.org/2024.emnlp-main.1247/ 1.概述 因果推理被认为是人类智能的基本组成部分(Penn and Povinelli, 2007;Harari, 2014)。近年来,大型语言模型(LLMs)在视觉语言任务中的成…

【基础4】插入排序

核心思想 插入排序是一种基于元素比较的原地排序算法,其核心思想是将数组分为“已排序”和“未排序”两部分,逐个将未排序元素插入到已排序部分的正确位置。 例如扑克牌在理牌的时候,一般会将大小王、2、A、花牌等按大小顺序插入到左边&…

IP离线库技术解析:实现高效数据处理能力

IP离线库现已成为企业及开发者实现精准数据分析、网络安全防护和业务优化的核心技术工具之一。金融风控、广告针对性投放,构建用户画像,IP归属地查询与IP定位技术的高效应用都需要IP离线库数据。接下来技术原理、应用场景等方面来解析IP离线库的核心价值…

机器人“照镜子”:开启智能新时代

机器人也爱 “照镜子”? 在科技飞速发展的今天,机器人的身影越来越频繁地出现在我们的生活和工作中。它们承担着各种各样的任务,从工业生产线上的精密操作,到家庭中的清洁服务,再到危险环境下的救援工作。然而&#xf…

Spring Boot Gradle 项目中使用 @Slf4j 注解

Spring Boot Gradle 项目中,如果想使用 Slf4j 注解来启用日志记录,首先需要添加 Lombok 和 SLF4J 的依赖。可以通过以下步骤来添加它们: 1. 添加 Lombok 依赖 在 build.gradle 文件中添加以下 Lombok 依赖: dependencies {impl…

5年前问题的答案,如何造统计信息

数据变化有规律的前提下,为了减少收集统计信息耗时或避免错过收集窗口,巧妙的办法是复制统计信息 set lin 120 create table sales_range (salesman_id number(5), salesman_name varchar2(30), sales_amount number(10), sales_date date) partition b…