如何使用JavaScript从URL读取GET数据? [英] How to read GET data from a URL using JavaScript?
本文介绍了如何使用JavaScript从URL读取GET数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将数据从一个页面传递到另一个页面。
I'm trying to pass data from one page to another.
www.mints.com?name=something
www.mints.com?name=something
如何使用JavaScript读取 name
?
How to read name
using JavaScript?
推荐答案
function parseURLParams(url) {
var queryStart = url.indexOf("?") + 1,
queryEnd = url.indexOf("#") + 1 || url.length + 1,
query = url.slice(queryStart, queryEnd - 1),
pairs = query.replace(/\+/g, " ").split("&"),
parms = {}, i, n, v, nv;
if (query === url || query === "") return;
for (i = 0; i < pairs.length; i++) {
nv = pairs[i].split("=", 2);
n = decodeURIComponent(nv[0]);
v = decodeURIComponent(nv[1]);
if (!parms.hasOwnProperty(n)) parms[n] = [];
parms[n].push(nv.length === 2 ? v : null);
}
return parms;
}
使用如下:
var urlString = "http://www.foo.com/bar?a=a+a&b%20b=b&c=1&c=2&d#hash";
urlParams = parseURLParams(urlString);
返回一个这样的对象:
{
"a" : ["a a"], /* param values are always returned as arrays */
"b b": ["b"], /* param names can have special chars as well */
"c" : ["1", "2"] /* an URL param can occur multiple times! */
"d" : [null] /* parameters without values are set to null */
}
所以
parseURLParams("www.mints.com?name=something")
给出
{name: ["something"]}
编辑:此答案的原始版本使用基于正则表达式的网址解析方法。它使用了较短的函数,但方法存在缺陷,我用适当的解析器替换它。
EDIT: The original version of this answer used a regex-based approach to URL-parsing. It used a shorter function, but the approach was flawed and I replaced it with a proper parser.
这篇关于如何使用JavaScript从URL读取GET数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文