解决uniapp中H5请求跨域无法共享session的问题

第一步,在manifest.json的h5配置中加入请求代理信息

    "h5" : {
		"devServer": {
		    "port": 8080,  //这边填当前项目的编译端口,编译时直接使用此端口,也是代理端口
		    "disableHostCheck": true, //vue关闭主机检查
            "proxy": {
                "/api2": { //代理API域名的路径
                    "target": "http://*****/api2", //代理API域名地址+端口+路径
                    "changeOrigin": true, //是否跨域
                    "secure": false,  //ssl,如果是https要更改为:true
                    "pathRewrite":{"^/api2":""}  //代理请求时的重写路径,和"/api2"、"/api2".target保持一致即可
                }
            }
		}
	}

第二步,设置请求格式

import utils from '@/common/utils'

			var self = this;
			//请求前先将待提交的参数放到对象中
			var data = {s:'App.Login.UserReg',user_login:'15303838888',user_pass:'123456',user_pass2:'123456',code:1234};
			
			uni.request({
						 url: utils.api_domain+'/?s='+data.s, //取下请求对象中的方法
							header: {
								'content-type': 'application/json'
							},
							method: 'POST',
							data:utils.dataSign(data), //运行签名加密算法
							//请求成功后返回
							success: (res) => {
								// 请求成功之后将数据给Info
								if(res.code===200)
								{
									self.Info = res.data;
								}
		
								self.data_msg = res.data.msg;						
								// self.info = res.data.info[0];
								
								console.log('code:'+res.data.code+'--msg:'+res.data.msg+'--info:'+ JSON.stringify(res.data.info));
							}
						})

第三步,由于只设置了H5的代理请求,所以公共参数需要做个判断,/common/utils.js

//通讯API请求接口
var api_domain = 'http://******/api2/public';

// #ifdef H5
var api_domain = '/api2/public';
// #endif
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值