如何使用JavaScript从URL读取GET数据?

我正在尝试将数据从一页传递到另一页。

www.mints.com?name=某物

如何name使用JavaScript 阅读?

回答:

下面的a代码可以工作,并且在URLSearchParams不可用的情况下仍然有用,但是它是在JavaScript中没有本机解决方案的时候编写的。在现代浏览器或Node.js中,更喜欢使用内置功能。


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.example.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"]}

以上是 如何使用JavaScript从URL读取GET数据? 的全部内容, 来源链接: utcz.com/qa/402196.html

回到顶部