zl程序教程

您现在的位置是:首页 >  其他

当前栏目

vue.js客服系统实时聊天项目开发(六)获取URL中的GET参数(支持/#/?单页锚点hash模式)

2023-02-26 10:14:45 时间

封装一个函数获取URL中的GET参数

需要支持锚点链接例如:http://localhost:8080/#/chatApp?ent_id=5

具体来说

    var query = window.location.search.substring(1);
    var hash = window.location.hash.substring(1);

获取到URL在的参数

使用substring方法获取到URL中的查询字符串(即从"?"开始的部分)。然后使用split方法将查询字符串拆分成一个键值对数组。接着,使用map方法遍历这个数组,并将每一个键值对添加到一个对象中。最后,使用typeof语句判断传入的参数在这个对象中是否存在,如果存在则返回该参数的值,否则返回空字符串。

function getQuery(key) {
    // 获取所有参数
    var query = window.location.search.substring(1);
    var hash = window.location.hash.substring(1);
    // 如果锚点后面有参数,把锚点后面的参数加入到search参数中
    if(hash.indexOf("?") > -1){
        query += "&" + hash.split("?")[1];
    }
    var key_values = query.split("&");
    var params = {};
    // 遍历参数并存入params对象
    key_values.map(function (key_val){
        var key_val_arr = key_val.split("=");
        params[key_val_arr[0]] = key_val_arr[1];
    });
    // 如果找到了key对应的参数,返回对应值
    if(typeof params[key]!="undefined"){
        return params[key];
    }
    // 如果没找到,返回空字符串
    return "";
}

唯一在线客服系统

https://gofly.v1kf.com