js获取地址栏参数,携带参数跳转页面

 

1.获取地址栏参数

复制代码
/**
 * qs2obj('file:///E:/wamp/www/11-10-yunnan/column_xwdt.html?abc=1&aaa=2')
 * qs2obj(window.location.href).abc)
 * @param {String} url url地址栏
 * @return {Object}
 */
function qs2obj(url) {
    var qs = url.split("?")[1];
    var arr = [];
    var res = {};
    if(!qs) {
        // return res;
    } else {
        arr = qs.split("&");
        for(var i = 0, len = arr.length; i < len; i++) {
            var key = arr[i].split("=")[0];
            var val = arr[i].split("=")[1];
            res[key] = decodeURIComponent(val);
        }
    }
    return res;
}
复制代码

 

2.将对象转换为地址栏参数

复制代码
/**
 * obj2qs({'a':1,'b':2})
 * @author alan
 * @param {Object} obj 需要拼接的参数对象
 * @return {String}
 * */
function obj2qs(obj) {
    if(!obj && !Object.keys(obj).length) {
        return "";
    } else {
        var arr = [];
        for(var key in obj) {
            arr.push(key + "=" + obj[key]);
        }
        return arr.join("&");
    }
}
复制代码

 

3.JS携带参数跳转页面

// 跳转页面js
// goPage('single_detail.html')
// goPage('single_detail.html',{'id':12,'val':123})
function goPage(_src,_obj){
    _obj?window.location.href= _src + '?'+obj2qs(_obj):window.location.href= _src;

}

 

posted @   泠风lj  阅读(1021)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示