Wednesday, November 28, 2018

How to retrieve GET parameters from javascript?





http://domain.com/page.html?returnurl=%2Fadmin


For js within page.html,how can it retrieve GET parameters?



For the above simple example,func('returnurl') should be /admin



But it should also work for complex querystrngs...


Answer



With the window.location object. This code gives you GET without the question mark.




window.location.search.substr(1)


From your example it will return returnurl=%2Fadmin



EDIT: I took the liberty of changing Qwerty's answer, which is really good, and as he pointed I followed exactly what the OP asked:



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;
}



I removed the duplicated function execution from his code, replacing it a variable ( tmp ) and also I've added decodeURIComponent, exactly as OP asked. I'm not sure if this may or may not be a security issue.



Or otherwise with plain for loop, which will work even in 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;
}

No comments:

Post a Comment

plot explanation - Why did Peaches&#39; mom hang on the tree? - Movies &amp; TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...