JavaScript拿到并解析Base64编码

2020年4月10日15:30:22 发表评论 阅读(3,194)

JavaScript拿到并解析Base64编码

微信授权时序图镇楼

最近对接了PC网站微信登录和绑定微信,在写的过程中遇到两个问题,微信在授权成功后,会重定向一个页面,在这个页面会带有一些参数,我们需要拿到这些参数来做进一步的业务逻辑处理。

在这里我们可以用两个方法来实现(拿到地址栏参数并解析)的效果:

拿到base64参数

  1. function getQueryVariable(variable)
  2. {
  3.        var query = window.location.search.substring(1);
  4.       //widow的Location对象里面的search属性,返回一个URL的查询部分
  5.      //substring(1)可以去掉参数的'?'
  6.        var vars = query.split("&");
  7.     //参数在'&'处分割,字符串转为数组
  8.        for (var i=0;i<vars.length;i++) {
  9.                var pair = vars[i].split("=");
  10.               //for循环拿到url参数,在'='号处分割,字符串转为数组
  11.                if(pair[0] == variable){return pair[1];}
  12.               //如果=号左边的参数名字等于传入的参数名字,return出去
  13.        }
  14.        return(false);
  15. }

解析base64参数

  1. function b64DecodeUnicode(str) {
  2.     return decodeURIComponent(atob(str).split('').map(function(c) {
  3.         return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
  4.     }).join(''));
  5. }
效果

上面解析后拿到的是字符串,我们通过JSON.parse方法转为对象,如下图:

JavaScript拿到并解析Base64编码

 

完成

 

weinxin
微信小程序
互联网开发,终身学习者,欢迎您的关注!
舍得

发表评论

不高兴 彩虹 吃瓜 丢翔 乖 滑稽 花心 惊哭 惊讶 挤眼 酷 伤心 帅吗? 礼物 玫瑰 怒 生气 喷 睡觉 太开心 小九九 啊
太阳 吐舌 委屈 笑眼 星星月亮 心碎 咦 阴险 疑问 真棒 偷笑 斜眼笑 震惊 略 哈欠 无奈哭 抠鼻 哼 期待 懒得理你 爱心 蜡烛