/**
* @function 重新设置url query参数,如果键名存在则更新,如果不存在则添加
* @param object 键值对
* @returns string
*/
function updateUrlQueryData(data) {
var url = new URL(window.location.href);
for (let k in data) {
var val = url.searchParams.get(k);
if (val != data[k]) {
url.searchParams.set(k, data[k]);
location.href = url.toString();
}
}
}
/**
* @function 获取url参数,若获取不到,返回参数2
* @param key string 键名
* @param default_value * 默认值
* @returns {*|string}
*/
function getQueryData(key, default_value = null) {
var val = new URL(window.location.href).searchParams.get(key);
if(val === null) {
return default_value === null ? val : default_value;
}
return val;
}
updateUrlQueryData({k: 'v', key: 'val'});
alert(getQueryData('k', 'vvv'));
封装一个强大的追加或更新多个Query参数并自动刷新的JS方法,附加Query参数获取
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 遇到问题是query传对象参数后,刷新新页面,数据变化为"[object Object]" 先来回顾一下vue路由...
- 跳转路由的时候 如果url地址相同 但是参数不一样 跳转的时候不会刷新页面数据 因为当前页面的mounted已经执...
- 从其他页面传过来的参数刷新页面的时候参数会丢失解决办法,只有常用的两种方法 通过 params 传参 注意点1、路...
- 原始代码: 解决方法:使用JSON.stringify()将要传的对象转为字符串,接收时使用JSON.parse(...