获取地址栏参数,json遍历
1. 获取地址栏参数
GetQueryString: function(name){ // 获取地址栏参数
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return decodeURIComponent(r[2]); return null;
}
2. 如果有一个结构比较深的json表,需要通过属性去遍历他的层次
function deepJson(obj, page) {
var result = {};
; (function walkTree(obj, page) {
for (key in obj) {
if (key == page) {
result = obj[key];
break;
} else if (obj[key].subMenu) {
walkTree(obj[key].subMenu, page);
}
}
})(obj, page);
return result;
}
var htmlconfig = {
system: {
text: '系统配置',
subMenu: {
account: {
text: '账号管理',
crumbs: 'system/account',
url: '#system/account'
},
role: {
text: '角色管理',
crumbs: 'system/role',
url: '#system/role'
},
function: {
text: '功能管理',
crumbs: 'system/function',
url: '#system/function'
},
permission: {
text: '权限设置',
crumbs: 'system/permission',
url: '#system/permission'
},
schedule: {
text: '任务调度',
crumbs: 'system/schedule',
url: '#system/schedule/index',
subMenu: {
service: {
text: '服务配置',
crumbs: 'system/schedule/service',
url: '#system/schedule/service',
subMenu: {
work: {
text: '任务作业配置表',
crumbs: 'system/schedule/service/work',
url: '#system/schedule/work'
},
}
}
}
},
config: {
text: '配置设置',
crumbs: 'system/config',
url: '#system/config'
}
}
}
}
}
};
module.exports = htmlconfig;
deepJson(htmlconfig,'service')
//根据路由确定面包屑的菜单
function deepJsonMenu(page) {
var result = {},
obj = utilSys.crumbConfig;
var menu = page.split('/'),
testObj = {};
var firstLevel = obj[menu[0]];
var otherObj = firstLevel;
testObj[0] = firstLevel;
for (var i = 1, len = menu.length; i < len; i++) {
testObj[i] = otherObj.subMenu[menu[i]];
otherObj = testObj[i];
}
return testObj;
}
deepJsonMenu('#system/config')
获取地址栏参数,json遍历的更多相关文章
- 用JS获取地址栏参数的方法
采用正则表达式获取地址栏参数: function GetQueryString(name) { var reg = new RegExp("(^|&)"+ nam ...
- 用JS获取地址栏参数的方法(超级简单)
方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new RegExp("( ...
- JS获取地址栏参数
获取地址栏参数(其中name为你所需要的参数值) function GetQueryString(name) { var reg = new RegExp("(^|&)" ...
- JS 获取 地址栏 参数
法一:正则表达式 /** * 采用正则表达式获取地址栏参数: **/ var GetQueryString = function (name) { var reg = new RegExp(" ...
- 用JavaScript获取地址栏参数的方法
/** * 获取地址栏参数 * * @example GetUrlString('id') * * @desc 调用时加上判断,保证程序不会出错 * var myurl = GetUrlString( ...
- 【2017-06-27】Js中获取地址栏参数、Js中字符串截取
一.Js中获取地址栏参数 //从地址栏获取想要的参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" ...
- 【功能代码】---4用JS获取地址栏参数方法
用JS获取地址栏参数方法 // 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new Reg ...
- (转)用JS获取地址栏参数的方法(超级简单)
转自http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html 用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获 ...
- vue项目获取地址栏参数(非路由传参)
在项目中,遇到一个需求,就是另一个系统直接跳转到我们项目中的某个页面,不需要做用户的校验直接单纯的跳转新页面,再初始化查询数据,参数以地址栏的形式传入 由于原来项目做过权限控制,所以在路由那边需要进行 ...
随机推荐
- Elastic-job使用及原理
一.原理 elastic-job有lite版和cloud版,最大的区别是有无调度中心,笔者采用的是lite版本,无中心化. tips: 第一台服务器上线触发主服务器选举.主服务器一旦下线,则重新触发选 ...
- 模板 - 动态规划 - 数位dp
#include<bits/stdc++.h> using namespace std; #define ll long long ]; ll dp[][/*可能需要的状态2*/];//不 ...
- SLAM的现在与未来
http://geek.csdn.net/news/detail/202128 作者:高翔,张涛,刘毅,颜沁睿. 编者按:本文节选自图书<视觉SLAM十四讲:从理论到实践>,系统介绍了视觉 ...
- PHP RSA算法 HMAC-SHA1加密算法
HMAC-SHA1加密算法 function getSignature($str, $key) { $signature = ""; if (function_exists('ha ...
- jmeter后置处理器之正则表达式
一.基本用法——提取某个值 场景:提取某个值,保存成变量,供后面的接口使用 步骤: 1.运行脚本,从响应结果中查找要提取的值,找到左右边界. 例如要获取“patientInfoId”作为下一个请求的参 ...
- 密码暴力破解工具acccheck使用
title: acccheck categories: Password Attacks tags: [passwords,kali linux,acccheck,infogathering,pass ...
- 洛谷 P1434 [SHOI2002]滑雪 解题报告
这题方法有很多, 这里介绍2种: 方法1 很容易想到搜索, bfs或dfs应该都可以, 就不放代码了: 方法2 这题还可以用 dp 来做. 做法:先将每个点按照高度从小到大排序,因为大的点只能向小的点 ...
- 02.Jquery Mobile介绍以及Jquery Mobile页面与对话框
一.为什么要学Jquery Mobile JqueryMobile 是jquery的移动版本,懂基本的jquery知识,会简单的html+css就可以完成很多复杂的功能,还有就是这个框架在企业中用 ...
- 学习笔记之a,b=b,a+b与a=b,b=a+b的区别
兔子序列中用到的常用的计算方法:a,b=b,a+b 当我们真正去运行的时候,会发现它与a=b,b=a+b是有区别的 实例代码如下: def YY(one): a,b,n=0,1,0 while( ...
- Codeforces 126B(kmp)
要点 头尾的最长相同只要一个kmp即可得,于是处理中间部分 扫一遍记录一下前缀的每个位置是否存在一个中间串跟它相同,见代码 如果当前没有,接着用Next数组去一找即可 #include <cst ...