如何在JavaScript中访问请求的查询字符串参数?

3

我看到很多解决方案都使用了正则表达式,说实话,这似乎过于繁琐,因为javascript非常灵活。

肯定有更简单的方法来访问请求参数。

能否有人给我演示一下?


你尝试过自己编写一些代码吗? - kul_mi
1
你能具体一点吗? - rozar
我认为OP指的是附加到当前页面URL的查询字符串。澄清这一点可能会有所帮助,但实际上对我来说似乎已经足够清楚了。 - user2625787
1
请参考这个问答 - Sz.
3个回答

4

我在网络深处找到了一个很有用的方法,它涉及到 IT 技术。

这里是该方法的详细说明。

function querySt(Key) {
    var url = window.location.href;
    KeysValues = url.split(/[\?&]+/);
    for (i = 0; i < KeysValues.length; i++) {
        KeyValue = KeysValues[i].split("=");
        if (KeyValue[0] == Key) {
            return KeyValue[1];
        }
    }
}

除了踩票和插件之外,无论如何还是非常感谢。


2
很好,你找到了一个原始的JavaScript版本,但是那不是你所要求的。 - Mike Ramsey
1
我实际上喜欢纯JavaScript版本,因为它不需要加载其他库。无论如何,很高兴你想出了一个解决方案。 - Mike Ramsey
1
小争议点:你的.split()使用了正则表达式,而你在问题中抱怨了它。不过我也不会做得不同。=) - Michael
这在我的情况下有效,但我注意到它不能处理数组 - 如果一个参数有多个值怎么办(即param1 = val1&param1 = val2&param1 = val3)?无论如何,这是适用于大多数情况的巧妙解决方案。 - ClarkeyBoy
1
我猜测你是在使用window.location.search(例如在这里,这可能是关于URL编码的最佳指南)的原因。 - Sz.
如果未找到键,则在函数末尾忘记返回“”或null。 - jmbmage

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接