首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaScript查询字符串

JavaScript查询字符串
EN

Stack Overflow用户
提问于 2009-03-15 03:50:42
回答 15查看 165.3K关注 0票数 106

有没有可以从查询字符串ASP.NET样式中生成字典的JavaScript库?

可以像这样用的东西:

var query = window.location.querystring["query"]?

“查询字符串”是不是调用了.NET领域之外的其他东西?为什么不将location.search分解为键/值集合?

编辑:我已经编写了自己的函数,但是有没有主流的JavaScript库可以做到这一点呢?

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2009-03-15 05:33:54

Stack Overflow用户

发布于 2009-03-15 04:08:11

您可以从location.search属性中提取键/值对,此属性具有?后面的部分URL。符号,包括?符号。

function getQueryString() {
  var result = {}, queryString = location.search.slice(1),
      re = /([^&=]+)=([^&]*)/g, m;

  while (m = re.exec(queryString)) {
    result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
  }

  return result;
}

// ...
var myParam = getQueryString()["myParam"];
票数 232
EN

Stack Overflow用户

发布于 2014-01-17 00:23:04

使用vanilla javascript在一行(Ish)代码中实现tl;dr解决方案

var queryDict = {}
location.search.substr(1).split("&").forEach(function(item) {
    queryDict[item.split("=")[0]] = item.split("=")[1]
})

对于查询字符串?a=1&b=2&c=3&d&e,它返回:

> queryDict
a: "1"
b: "2"
c: "3"
d: undefined
e: undefined

多值键和编码字符

How can I get query string values in JavaScript?上查看原始答案

"?a=1&b=2&c=3&d&e&a=5&a=t%20e%20x%20t&e=http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dståle%26car%3Dsaab"
> queryDict
a: ["1", "5", "t e x t"]
b: ["2"]
c: ["3"]
d: [undefined]
e: [undefined, "http://w3schools.com/my test.asp?name=ståle&car=saab"]
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/647259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档