likes
comments
collection
share

Layui open 新界面后使用 JS 获取 URL 参数

作者站长头像
站长
· 阅读数 41

Layui open 新界面后使用 JS 获取 URL 参数


使用 Layui 打开新界面时, 可能会传递一些参数, 如详情页,我会传递一个详情 ID 字段作为标识, 再由详情页的 JS 代码通过 ID 参数进行请求获得数据, 我测试了以下代码:

layui.use(['layer'], function () {
    var router = layui.router();
    var id = router.search.id;
});

可能是由于我的方法不对, 最终无论传递怎么样的数据, router.search 所获得对象始终是空对象 {}, 所以不得不另辟蹊径。

实现

使用 window.location.search.substr(1) 拿到 URL 中参数字符串, 再利用正则数据进行获取, 最终的我们仅仅需要使用 getQueryString('id') 就可以拿到 ID 的数据内容。

function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        return decodeURI(r[2]);
    }
    return '';
}

优化方案

url = new URL('https://moas.medusasorcerer.com?a=2&b=1&c=abc')
params = new URLSearchParams(url.search.slice(1))
params.getAll('a')
params.get('c')

Layui open 新界面后使用 JS 获取 URL 参数

为达目的,不择手段的写了很多冗余代码,哈哈哈~ 我是个混子

转载自:https://juejin.cn/post/6885509010766856200
评论
请登录