对于js内page.html,怎么可以检索GET参数?
js
page.html
GET
对于上面的简单示例,func('returnurl')应为/admin
func('returnurl')
/admin
但是它也应该适用于复杂的querystrngs …
与window.location对象。此代码为您提供了没有问号的GET。
window.location.search.substr(1)
从您的示例它将返回 returnurl=%2Fadmin
returnurl=%2Fadmin
编辑 :我自由地更改了Qwerty的答案,这确实很好** ,正如他指出的,我完全遵循OP的要求:
function findGetParameter(parameterName) { var result = null, tmp = []; location.search .substr(1) .split("&") .forEach(function (item) { tmp = item.split("="); if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]); }); return result; }
我从他的代码中删除了重复的函数执行,将其替换为变量(tmp),并且decodeURIComponent按照OP的要求添加了它。我不确定这是否是安全问题。
decodeURIComponent
或者使用普通for循环,即使在IE8中也可以使用:
function findGetParameter(parameterName) { var result = null, tmp = []; var items = location.search.substr(1).split("&"); for (var index = 0; index < items.length; index++) { tmp = items[index].split("="); if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]); } return result; }