Friday 10 November 2017

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...


class="post-text" itemprop="text">
class="normal">Answer



With the
rel="noreferrer">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 href="https://stackoverflow.com/a/21210643/179669">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 href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent"
rel="noreferrer">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

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...