【问题标题】:How to access request query string parameters in javascript?如何在javascript中访问请求查询字符串参数?
【发布时间】:2013-08-04 01:34:51
【问题描述】:

我见过很多使用 RegEx 的解决方案,坦率地说,这似乎有点过分了,因为 javascript 用途广泛。

必须有更简单的方法来访问请求参数。

有人可以帮我演示一下吗?

【问题讨论】:

  • 您是否尝试过自己编写一些代码?
  • 你能说得更具体一点吗?
  • 我相信 OP 指的是附加到当前页面的 URL 的查询字符串。澄清可能有帮助,但对我来说真的很清楚。
  • 另见this Q/A

标签: javascript query-string


【解决方案1】:

我在depths of the net中找到了一个有用的方法。

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];
        }
    }
}

抛开不赞成票和插件,无论如何谢谢。

【讨论】:

  • 找到原始 javascript 版本的工作很不错,但是,这不是您想要的。
  • 我其实很喜欢纯javascript版本,因为它不需要加载一些额外的库。不管怎样,很高兴你想出了一个解决方案。
  • 次要争论点:您的.split() 使用了您在问题中抱怨的正则表达式。并不是说我会做不同的事情。 =)
  • 这适用于我的情况,但我注意到这不能处理数组 - 如果一个参数有多个值(即 param1=val1&param1=val2&param1=val3)怎么办?整洁的解决方案,在任何情况下都适用于大多数情况。
  • window.location.search,我想。 (原因可见,例如here, in probably the best guide on URL encoding。)
【解决方案2】:

你可以使用jQuery插件Purl (A JavaScript URL parser) v2.3.1

var queryStringParameter = $.url().param('queryStringParameter');

【讨论】:

    【解决方案3】:

    jQuery BBQ 插件来拯救。见deparam method

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-11
      • 2021-10-04
      • 2018-06-18
      • 1970-01-01
      • 2014-09-06
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多