当前位置: 首页 > news >正文

获取当前页面的 url 参数

一、使用 URLSearchParams(现代浏览器支持)

URLSearchParams 是 JavaScript 提供的一个内置对象,用于处理 URL 的查询字符串,它提供了一系列方便的方法来获取、设置和删除查询参数。

// 获取当前页面的 URL 参数
const queryString = window.location.search;
// 创建 URLSearchParams 对象
const urlParams = new URLSearchParams(queryString);
// 获取特定参数的值
const paramValue = urlParams.get("paramName");
console.log(paramValue);
// 遍历所有参数
urlParams.forEach((value, key) => {
  console.log(`${key}: ${value}`);
});

二、手动解析查询字符串

手动解析查询字符串是一种兼容性较好的方法,通过字符串的分割和处理来获取参数。

function getUrlParams() {
  const queryString = window.location.search.slice(1); // 去除问号
  const params = {};
  if (queryString) {
    const paramPairs = queryString.split("&");
    paramPairs.forEach((pair) => {
      const [key, value] = pair.split("=");
      if (key) {
        params[key] = decodeURIComponent(value || "");
      }
    });
  }
  return params;
}
// 使用示例
const allParams = getUrlParams();
const specificParam = allParams["paramName"];
console.log(specificParam);

三、在单页面应用(SPA)中使用路由库获取参数

在基于 Vue.js、React.js 等框架构建的单页面应用中,通常会使用路由库来管理页面导航,这些路由库也提供了方便的方法来获取 URL 参数。

1. Vue.js 示例(使用 Vue Router)

<template>
  <div>
    <p>参数值: {{ $route.query.paramName }}</p>
  </div>
</template>
<script>
export default {
  mounted() {
    const paramValue = this.$route.query.paramName;
    console.log(paramValue);
  },
};
</script>

2. React.js 示例(使用 React Router)

import { useSearchParams } from "react-router-dom";
function MyComponent() {
  const [searchParams] = useSearchParams();
  const paramValue = searchParams.get("paramName");
  return (
    <div>
      <p>参数值: {paramValue}</p>
    </div>
  );
}
export default MyComponent;
http://www.dtcms.com/a/54351.html

相关文章:

  • Ubuntu20.04本地配置IsaacLab 4.5.0的训练环境(一)
  • 安卓基础组件Looper - 02 native层面的剖析
  • 单线程 Redis 如何实现高可用?深入图解主从复制与哨兵模式
  • HuggingFace 模型转换为 GGUF/GGML
  • [MySQL初阶]MySQL(4)基本查询
  • K8s 1.27.1 实战系列(一)介绍及准备工作
  • 使用阿里云 API 进行声音身份识别的方案
  • Pycharm 远程执行无法显示 cv2.imshow() 的原因分析及解决方案
  • wheel_legged_genesis 开源项目复现与问题记录
  • Linux - 进程控制
  • 【极光 Orbit•STC8A-8H】02. STC8 单片机工程模板创建
  • 鸿蒙全栈开发 D1
  • JCRQ1河马算法+四模型对比!HO-CNN-GRU-Attention系列四模型多变量时序预测
  • git-filter-repo 清除大文件教程
  • K8S学习之基础十:k8s中初始化容器和主容器
  • 游戏辅助技术教程【预习课】
  • FPGA-按键消抖
  • 信息安全技术、加密、摘要、签名、PKI(高软41)
  • Java数组详解/从JVM理解数组/数组反转/随机排名/数组在计算机如何存储
  • 【DeepSeek】Ubuntu快速部署DeepSeek(Ollama方式)
  • 2024华为OD机试真题-字符串加密算法(C++)-E卷-100分
  • 机器学习-GBDT算法
  • 数字组合(信息学奥赛一本通-1291)
  • 《深度学习进阶》第7集:深度实战 通过训练一个智能体玩游戏 来洞察 强化学习(RL)与决策系统
  • 全新方案80M/S,告别限速!
  • 阿里云云监控资源告警常用模板
  • 软考架构师笔记-计算机网络
  • Pytest测试用例执行跳过的3种方式
  • 浅论数据库聚合:合理使用LambdaQueryWrapper和XML
  • [数据可视化的python脚本实现]关于餐厅消费的不同维度分析