
本文介绍一种现代、简洁的方式,使用 FormData 和 URLSearchParams 在不依赖 AJAX 的前提下,拦截并重写原生表单的 GET 提交行为,自动过滤掉空值字段,生成更简洁、可分享、可书签化的搜索 URL。
本文介绍一种现代、简洁的方式,使用 FormData 和 URLSearchParams 在不依赖 AJAX 的前提下,拦截并重写原生表单的 GET 提交行为,自动过滤掉空值字段,生成更简洁、可分享、可书签化的搜索 URL。
在构建搜索类表单(尤其是多字段高级搜索)时,一个常见痛点是:用户仅填写了部分字段,但浏览器默认会将所有 和
/search/advanced_search?givenName=Ben&sn=&telephoneNumber=&personType=&physicalDeliveryOfficeName=&department=
这不仅影响用户体验(URL 不易阅读、分享或收藏),也对 SEO 和调试造成干扰。理想结果应仅包含非空、有实际意义的字段,如:
/search/advanced_search?givenName=Ben
好消息是:无需手动拼接表单、创建隐藏 DOM 元素,也无需弃用原生










