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

uniapp 解决 H5 跨域问题

使用 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 平台配置代理服务器:

"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 文件,示例代码如下:

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

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

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

相关文章:

  • 深入解析DBus协议:关键特性与核心概念
  • Spark是什么?可以用来做什么?
  • 涨薪技术|JMeter异步接口测试实战
  • Netty笔记13:序列化
  • 推荐几款优秀的PDF转电子画册的软件
  • Bruno运行登录接口遇到报错canot found module ‘htmlparser2’怎么解决
  • 颠覆NLP的魔法:深度解读Transformer架构及其核心组件
  • 面试逻辑智力测试题(带答案)
  • 国内如何快速拿下微软AI-900!?
  • 55-包的声明
  • html实现菜单点击小三角展开和收回
  • Nginx代理Kafka集群
  • 06、Hadoop3.x从入门到放弃,第六章:Yarn基本概念与操作
  • 基础篇12-图像分割(中)--区域的方法
  • 深入浅出C语言:第一步,理解 Hello World!
  • Vue输入框获取焦点
  • 阻塞队列的实现(线程案例)
  • 计算机网络基础:认识网络拓扑结构
  • 生态安全相关文献推荐
  • Gravitino SparkConnector 实现原理
  • 有哪些企业可以做招聘的网站有哪些方面/软文推广经典案例
  • 做资讯网站/世界十大搜索引擎及地址
  • 如何建单位内部购物网站/百度本地惠生活推广
  • 日常网站维护怎么做/网络推广需要花多少钱
  • 建设金融网站哪家好/百度快速收录教程
  • 网站备案办理/在线培训网站次要关键词