我有一个带有一些 GET 参数的 URL,如下所示:
www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5
我需要获得 c
的全部价值。我试图阅读 URL,但我只有 m2
。如何使用 JavaScript 做到这一点?
原文由 joe 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个带有一些 GET 参数的 URL,如下所示:
www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5
我需要获得 c
的全部价值。我试图阅读 URL,但我只有 m2
。如何使用 JavaScript 做到这一点?
原文由 joe 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
JavaScript 本身 没有内置任何东西来处理查询字符串参数。
在( 现代)浏览器中运行的代码可以使用
URL
对象( Web API )。URL
也由 Node.js 实现:对于较旧的浏览器(包括 Internet Explorer),您可以使用 这个 polyfill 。
您还可以将一个用于 URLSearchParams 并提取查询字符串以使用
window.location.search.substring(1)
传递给它。您还可以使用早于
URL
的此答案的原始版本中的代码。上面的 polyfill 是健壮的并且经过了很好的测试,不过我强烈推荐它。您可以访问
location.search
,这会给您从?
URL 末尾或片段标识符 (#foo) 开头的字符,以先到者为准。然后你可以用这个来解析它:
您可以从当前页面的 URL 中获取查询字符串: