Author:赵志乾
Date:2024-07-24
Declaration:All Right Reserved!!!
1. 简介
实际项目中经常有些落地页会携带参数,并要求在发起请求时将携带的参数一并传递至后台服务。例如两个独立系统A和B,从A系统页面跳转至B系统页面,若需要在两个系统间传递部分信息,便可以通过在跳转url中拼接传递的信息来实现。
2. 操作步骤
2.1 生成带参数的url
// step1: 定义原始的落地页
let url = "落地页url";// step2: 拼接参数
let params = new URLSearchParams();
params.append('key1', 'value1');
params.append('key2', 'value2');
let urlWithParams = `${url}`+(url.includes("?")?"&":"?")+`${params.toString()}`;
2.2 url对应的页面内获取参数
let searchParams = new URLSearchParams(window.location.search);
console.log(searchParams.get(参数名));
3. 应用场景
现有A、B两个系统,其中A系统拥有完善的认证体系,而B系统未作用户认证;为了将B系统的页面以较低的成本暴漏出去,可以由A系统的后台生成签名和参数,并将两者拼入B系统的落地页。之后在B系统页面内从url中获取签名与参数,并传递给B系统的后台完成数据验签,从而间接实现用户认证。