Monday 25 December 2017

url - How can I get query string values in JavaScript?





Is there a plugin-less way of retrieving href="http://en.wikipedia.org/wiki/Query_string" rel="nofollow noreferrer">query
string values via jQuery (or without)?



If so, how? If not, is there a plugin which can
do so?



Answer




Update:
Sep-2018



You can use href="https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams#Browser_compatibility"
rel="noreferrer">URLSearchParams which is simple and has href="https://caniuse.com/#feat=urlsearchparams" rel="noreferrer">decent (but not
complete) browser
support.




const
urlParams = new URLSearchParams(window.location.search);
const myParam =
urlParams.get('myParam');


Original



You
don't need jQuery for that purpose. You can use just some pure
JavaScript:



function
getParameterByName(name, url) {
if (!url) url =
window.location.href;

name = name.replace(/[\[\]]/g,
'\\$&');
var regex = new RegExp('[?&]' + name +
'(=([^&#]*)|&|#|$)'),
results = regex.exec(url);
if
(!results) return null;
if (!results[2]) return '';
return
decodeURIComponent(results[2].replace(/\+/g, '
'));
}


Usage:




//
query string: ?foo=lorem&bar=&baz
var foo = getParameterByName('foo');
// "lorem"
var bar = getParameterByName('bar'); // "" (present with empty
value)
var baz = getParameterByName('baz'); // "" (present with no
value)
var qux = getParameterByName('qux'); // null
(absent)


/>Note: If a parameter is present several times
(?foo=lorem&foo=ipsum), you will get the first value
(lorem). There is no standard about this and usages vary, see
for example this question: href="https://stackoverflow.com/questions/1746507/authoritative-position-of-duplicate-http-get-query-keys">Authoritative
position of duplicate HTTP GET query keys.
NOTE: The function is
case-sensitive. If you prefer case-insensitive parameter name, href="https://stackoverflow.com/questions/3939715/case-insensitive-regex-in-javascript">add
'i' modifier to RegExp




/>

This is an update based on the new href="https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams"
rel="noreferrer">URLSearchParams specs to achieve the same result more
succinctly. See answer titled " href="https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript/901144#12151322">URLSearchParams"
below.


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