当前位置:首页 > JavaScript

js实现queryparams

2026-04-06 06:23:24JavaScript

获取 URL 查询参数(QueryParams)

方法一:使用 URLSearchParams API
现代浏览器支持 URLSearchParams 接口,可直接解析查询字符串:

const urlParams = new URLSearchParams(window.location.search);
const paramValue = urlParams.get('key');

方法二:手动解析查询字符串
适用于不支持 URLSearchParams 的环境:

function getQueryParam(key) {
  const params = {};
  window.location.search.slice(1).split('&').forEach(pair => {
    const [k, v] = pair.split('=');
    params[k] = decodeURIComponent(v || '');
  });
  return params[key];
}

修改或添加查询参数

更新参数并跳转
通过 URLSearchParams 修改后生成新 URL:

const urlParams = new URLSearchParams(window.location.search);
urlParams.set('page', '2');
window.location.search = urlParams.toString();

保留历史记录(不刷新)
使用 history.pushState 更新 URL 而不刷新页面:

const urlParams = new URLSearchParams(window.location.search);
urlParams.set('sort', 'desc');
const newUrl = `${window.location.pathname}?${urlParams.toString()}`;
history.pushState({}, '', newUrl);

删除查询参数

移除单个参数
通过 URLSearchParams.delete() 实现:

js实现queryparams

const urlParams = new URLSearchParams(window.location.search);
urlParams.delete('filter');
window.location.search = urlParams.toString();

注意事项

  • 参数值需用 encodeURIComponent 编码,避免特殊字符(如 &, =)破坏结构
  • URLSearchParams 不兼容 IE,需 polyfill 或降级方案
  • 修改 window.location.search 会触发页面刷新

标签: jsqueryparams
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Java…

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callbac…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…