小程序开发过程中会遇到参数id会通过二维码获取,然后执行接口调取数据,但是难免会遇到带过来的参数出现乱码 ,这样就需要解码,多个参数时就要进行处理取我们需要的字段值:
扫二维码获取的参数如下:
onLoad: function (option) { console.log(option) // }
接下来进行解码,转成正常对象形式进行取值
把{scene: "dealerid=395&surveyid=2"} 转成{dealerid: "395", surveyid: "2"} 这种形式
// var obj = {scene: "dealerid=395,surveyid=2"} var obj = {scene: "surveyid=2,dealerid=395"} var arr = obj.scene.split(\',\'); var obj1 ={}; var obj2 ={}; for(var i=0;i<arr.length;i++){ newArr = arr[i].split(\'=\'); for(var j=0;j<newArr.length;j++){ if(i==0&&j==0){ if(newArr[0]==\'dealerid\'){ obj1.dealerid= newArr[1] }else { obj2.surveyid= newArr[1] } } if(i==1&&j==1){ if(newArr[0]==\'surveyid\'){ obj1.surveyid= newArr[1] }else { obj2.dealerid= newArr[1] } } } } var obj = Object.assign(obj1, obj2); console.log(obj) //{surveyid: "2", dealerid: "395"}