URL带参数json传递进行解析
2024-10-21 10:21:13
注意参数格式是要加密的:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<title>URL带参数json传递进行解析</title>
</head>
<body>
<script>
var common = {
getQueryString : function(name){
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = '';
try{
r = location.href.split('?')[1].match(reg);
}catch(err){}
if (r != null && r != 'undefined') {
return unescape(r[2]);
}
return null;
}
}
// 这是url上的 ?userpar=token%3dxxxx%26identity%3d123%26sysrole%3d1%26showMenu%3d0%2c1%2c2%2c3%26showColumn%3d0%2c1
var userpar = common.getQueryString('userpar');
console.log('参数:'+userpar)
//这是解析后的 token=xxxx&identity=123&sysrole=1&showMenu=0,1,2,3&showColumn=0,1
console.log("userpar里的值: "+userpar) var newArr = userpar.split('&');
//["token=xxxx", "identity=123", "sysrole=1", "showMenu=0,1,2,3", "showColumn=0,1"]
console.log(newArr)
// 数据整理
var params = [];
var object = {}
for(var i in newArr){
var obj = {}
key = newArr[i].split('=')[0];
value = newArr[i].split('=')[1];
obj[key] = value;
object = Object.assign(object,obj); //追加json
}
// 进行取值
// {token: "xxxx", identity: "123", sysrole: "1", showMenu: "0,1,2,3", showColumn: "0,1"}
console.log(object)
</script>
</body>
</html>
在VUE中当用到split() 会提示split 没定义,解决办法,在split()前加上toString()即可:
var newArr = userpar.toString().split('&');
最新文章
- /usr/include/features.h:367:25:fatal errorXXXXXX类似这种问题
- centos7安装redis
- Java 入门(一) - 环境变量
- Cwinux源码解析(四)
- javascript模拟jQuery封装委托事件,兼容IE
- ant学习
- maximo功能修改(初步理解)
- Entity FrameWork 延迟加载的本质(一)
- 根据新浪天气API获取各地天气状况(Java实现)
- 9月1日,请记得备好名片来PechaKucha Night和大家“闲聊” | Hi!设计
- word-break与word-wrap
- AxeSlide软件项目梳理
- debian上安装lua编辑器
- 每天一个linux命令(39)--ifconfig命令
- Angular开发实践(四):组件之间的交互
- 学号 20175201张驰 《Java程序设计》第4周学习总结
- node.js 使用NAPI写C++插件,(部分转帖)
- 英语口语练习系列-C32-建筑-述说时间-暮秋独游曲江
- Webpack 概念
- MySQL Split 函数