javascript - 如何使用 Javascript 将查询参数附加到我的 URL?
问题描述
我正在构建一个网络应用程序,我正在使用 Firebase 将我的用户数据存储在 Cloud Firestore 中。我的网络应用上有一个页面,允许用户从 Cloud Firestore 查看他们的文档。我想在我的 URL 末尾添加一个查询参数,view.html
以便我可以获取该查询参数值并使用它来搜索文档。
我一直在网上寻找可能的解决方案。到目前为止,我已经看到了一些关于该主题的视频,但它们并没有深入到我所需要的深度。例如,此视频展示了如何从 URL 添加和获取查询参数,但它仅展示了如何在控制台中记录这些更改。我将如何制作我的网址?
我也在浏览 Stackoverflow 寻找解决方案。这个 Stackoverflow 帖子提出了一个类似的问题,但是,答案中的许多解决方案会导致view.html
重新加载循环。为什么会这样,如果这是一个可能的解决方案,我将如何阻止这种情况发生。
我将如何在 Javascript 中附加和获取 URL 查询参数?
解决方案
您说您想在 javascript 中执行此操作,所以我假设页面本身正在构建/修改一个链接,以便在页面上放置或直接通过 javascript 访问。
在浏览器的 javascript 中有URL对象,它可以构建和分解 URL
let thisPage = new URL(window.location.href);
let thatPage = new URL("https://that.example.com/path/page");
无论如何,一旦你有了一个 URL 对象,你就可以访问它的各个部分来读取和设置值。
添加查询参数使用 URL 的searchParams属性,您可以在其中添加参数 - 您不必担心管理?
和&
……该方法会为您处理。
thisPage.searchParams.append('yourKey', 'someValue');
这在此页面上演示了它,添加搜索参数并在每个步骤中显示 URL:
let here = new URL(window.location.href);
console.log(here);
here.searchParams.append('firstKey', 'theValue');
console.log(here);
here.searchParams.append('key2', 'another');
console.log(here);
推荐阅读
- javascript - selenium-webdriver 在打开浏览器后不会执行下一步
- java - 在 Spring Boot 中将响应下载为 POST 请求的文本文件
- r - 在 R 中保存 Unicode 字符
- java - 在 oracle 数据库的 blob 字段上存储大型 json
- sql - 如何转换为程序
- vagrant - Windows 主机上的 Vagrant VMware 桌面虚拟机 - 文件夹共享
- sql - 如何在Yesod中获取相关字段(外键)?
- python - 一段时间后,MongoDB 查询没有返回结果
- html - 使用导航链接和版权信息实施 Bootstrap 4 Sticky Footer
- django - 用于通知的 Django redis