微信公众号中url传递参数到第三方的网页

在微信公众号开发中,有这么一个场景,点击模板消息中详情url进入到第三方的界面的问题,不知道别的大神是怎么做的,我第一种方法是,老老实实的按照官方文档去做。

方法1:通过网页授权,获取到code,再通过code获取openid,再根据openid请求接口,获取自己需要的参数。https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=第三方url&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
这样做在实际开发中受到了很大限制。

方法2:需要的参数直接在上面的url中携带。当然需要自己处理一下,直接一次传很多参数,js获取不到,传递一个是可以获取到的,没弄明白为什么。

传递一个参数:(这样可以直接在js里获取到这里传递的一个参数mcssn)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3aa9835c4b466364&redirect_uri=http://ip:port/view/index.html?mcssn=11111111111111111111&response_type=code&scope=snsapi_base&state=STATE&connect_redirect=1#wechat_redirect

传递多个参数:(只获取到了一个,不知道为什么)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3aa9835c4b466364&redirect_uri=http://ip:port/view/index.html?mcssn=11111111111111111111&teacct=123456&mccode=22222222&response_type=code&scope=snsapi_base&state=STATE&connect_redirect=1#wechat_redirect

传递多个参数:(想办法处理一下,自己的多个参数不用&连接,我这里用*连接了)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3aa9835c4b466364&redirect_uri=http://ip:port/view/index.html?mcssn=11111111111111111111*teacct=123456*mccode=22222222&response_type=code&scope=snsapi_base&state=STATE&connect_redirect=1#wechat_redirect

这样在js里可以用var urlSearch = location.search; 来获取传递过来的参数。这里直接贴出了写的方法:

//调用方法
$(document).ready(function(){
var mcssn = getUrlParams("mcssn");
var teacct= getUrlParams("teacct");
var mccode= getUrlParams("mccode");
console.log(mcssn);
console.log(teacct);
console.log(mccode);
}); 

function getUrlParams(names) {
//获取?后面的参数
   var urlSearch = location.search;
   var urlValue="";
   //以?*&来拆分
   var params = urlSearch.split(/[?*&]/);
    for(var i=0;i<params.length;i++){
    //如果url参数里包含传递过来names字段,则取=后面的部分
        if(params[i].indexOf(names) >= 0 ){
            urlValue=params[i].split("=")[1];
            return urlValue;
        }
    }

   return urlValue;
}   
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值