• 【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
  • 相关阅读:
    第二章 模型评估与选择(下)
    乙酰基六肽-1——促进黑色素合成,调节皮肤色素沉着
    【Kubernetes 系列】ConfigMap 进阶 环境变量的配置及使用
    Yarn 配置管理
    Redis 如何实现库存扣减操作和防止被超卖?(荣耀典藏版)
    Mybatis-Plus最优化持久层开发
    微信公众号后台管理
    浓眉大眼的Apple开源OpenELM模型;IDM-VTON试衣抱抱脸免费使用;先进的语音技术,能够轻松克隆任何人的声音
    UE4两种点击空间UI弹窗的方式
    LeetCode LCP 50. 宝石补给【模拟】简单
  • 原文地址:https://blog.csdn.net/weixin_53791978/article/details/126129392