• 【uniapp】跨域代理及一些常见问题:


    1、法一:
    manifest.json文件
    
    "h5": {
    	"devServer": {
    		"port": 8000,
    		"disableHostCheck": true,
    		"proxy": {
    			"/api": {
    				"target": "http://121.204.170.197:8000/i8",//代理的接口
    				 "changeOrigin": true,//是否跨域
    		         "secure": false   // 设置支持https协议的代理
    			     //"pathRewrite": {	"^/api": "" }  //如需去掉前缀则加上此配置 
    			},
    			//"/web": {
    			//	"target": "http://121.204.170.197:8000/i8",
    			//	"changeOrigin": true,//是否跨域
    		    //   "secure": false   // 设置支持https协议的代理
    			//	//"pathRewrite": {	"^/web": "" }  //如需去掉前缀则加上此配置 
    			//}
    		}
    	},
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    2、法二:
    vue.config.js文件
    
    // 跨域配置
    module.exports = {
    	devServer: { //记住,别写错了devServer//设置本地默认端口  选填
    		port: 8000,
    		proxy: { //设置代理,必须填
    			'/api': { //设置拦截器  拦截器格式   斜杠+拦截器名字,名字可以自己定
    				target: 'http://121.204.170.197:8000/i8', //代理的目标地址
    				changeOrigin: true, //是否设置同源,输入是的
    				pathRewrite: { //路径重写
    					'/api': '' //选择忽略拦截器里面的单词
    				}
    			},
    			//'/web': { //设置拦截器  拦截器格式   斜杠+拦截器名字,名字可以自己定
    			//	target: 'http://121.204.170.197:8000/i8', //代理的目标地址
    			//	changeOrigin: true, //是否设置同源,输入是的
    			//	pathRewrite: { //路径重写
    			//		'/web': '' //选择忽略拦截器里面的单词
    			//	}
    			//}
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    3、使用:
    manifest.json优先级高于vue.config.js
    
    • 1
    uni.request({
    	url: '/api/PMS/MwApi/GetMwBaseData',//  /api要与上面的/api一致
    	//url: '/web/PMS/MwApi/GetMwBaseData',
    	method: 'GET',
    	data: {
    		pageIndex: '0', //	string	是	页码	0
    		pageSize: '20', //	string	是	每页条数	20
    		method: 'Enterprise', //	string	是	业务类型	Enterprise
    		searchKey: that.consignee, //	string	否	模糊查询(支持名称和编码)	无
    		updateTime: '', //	datetime	否	更新时间(查询该时间之后插入和更新的数据)	2021-07-27 17:15:59.210
    	},
    	success: (res) => {
    		if (res.statusCode == 200) {
    			console.log(res.data)
    		} else {
    			uni.showToast({
    				title: res.data.ErrorMessage,
    				icon: 'none'
    			})
    		}
    	},
    	fail: (err) => {
    		uni.showToast({
    			title: err.ErrorMessage,
    			icon: 'none'
    		})
    	},
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    4、跨域代理不成功的原因:

    uniapp跨域报错Faild to load response data: No resourse with given identifier found

    1、"pathRewrite": {	"^/api": "" } 需要的没加,不需要的加上了
    2、项目没有重新启动,刷新是不生效的
    3、地址,逗号,源码等有误=》如http://121.204.170.197:8000/i8后面还有/i8,容易被遗忘
    4、请求头不正确等
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    87.有效的完全平方数(力扣)
    【11. 二维差分】
    非科班菜鸡算法学习记录 | 代码随想录算法训练营第56天|| 583. 两个字符串的删除操作 72. 编辑距离 编辑距离总结篇
    SQL中GROUP BY语句介绍
    Android最近的行情到底怎么样了?还能好转吗?
    Groq:从头设计一个张量流式处理器架构
    PyTorch学习笔记-损失函数与反向传播
    Redis 数据结构原理解析
    Arduino与Proteus仿真实例-超声波检测水位变化及控制仿真
    java计算机毕业设计基于安卓Android的学生作业管理系统APP
  • 原文地址:https://blog.csdn.net/weixin_53791978/article/details/126129392