下面的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 = depreURIComponent(nv[0]); v = depreURIComponent(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"], "b b": ["b"], "c" : ["1", "2"] "d" : [null] }
所以
parseURLParams("www.mints.com?name=something")
给
{name: ["something"]}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)