A question asked without possibly an end is how do I get variable from a URL. In all my searching I have found several very good ways to get A=aValue
from the url.
But my question is I need
?Company=FLHS&Device=Crosstown_PCC_01&A=aValue&A=secondAValue
I need an array of the two A's in the url and I need to know that aValue
was the first one and secondAValue
was the second
I have jquery Mobile.
Update
So this is what I have now
var urlParamDevice = getURLParameter('DeviceID');
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1]
);
The getURLParameter(name) needs to be a little more robust.
Update 2, 2014/03/07 Here is what I came up with from the suggested answer
function getQueryParams(name) {
qs = location.search;
var params = [];
var tokens;
var re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs))
{
if (decodeURIComponent(tokens[1]) == name)
params.push(decodeURIComponent(tokens[2]));
}
return params;
}
A question asked without possibly an end is how do I get variable from a URL. In all my searching I have found several very good ways to get A=aValue
from the url.
But my question is I need
?Company=FLHS&Device=Crosstown_PCC_01&A=aValue&A=secondAValue
I need an array of the two A's in the url and I need to know that aValue
was the first one and secondAValue
was the second
I have jquery Mobile.
Update
So this is what I have now
var urlParamDevice = getURLParameter('DeviceID');
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, null])[1]
);
The getURLParameter(name) needs to be a little more robust.
Update 2, 2014/03/07 Here is what I came up with from the suggested answer
function getQueryParams(name) {
qs = location.search;
var params = [];
var tokens;
var re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs))
{
if (decodeURIComponent(tokens[1]) == name)
params.push(decodeURIComponent(tokens[2]));
}
return params;
}
Share
Improve this question
edited Mar 7, 2014 at 17:24
Brian Hanf
asked Mar 5, 2014 at 21:08
Brian HanfBrian Hanf
5642 gold badges11 silver badges31 bronze badges
2
- 1 There are examples of passing arrays (or any other object) as a parameter here: api.jquery./jQuery.param – Rainbolt Commented Mar 5, 2014 at 21:12
- Thanks, trying to get an array from the URL not pass one. – Brian Hanf Commented Mar 5, 2014 at 21:45
3 Answers
Reset to default 2
function getparamNameMultiValues(paramName){
var sURL = window.document.URL.toString();
var value =[];
if (sURL.indexOf("?") > 0){
var arrParams = sURL.split("?");
var arrURLParams = arrParams[1].split("&");
for (var i = 0; i<arrURLParams.length; i++){
var sParam = arrURLParams[i].split("=");
console.log(sParam);
if(sParam){
if(sParam[0] == paramName){
if(sParam.length>0){
value.push(sParam[1].trim());
}
}
}
}
}
return value.toString();
}
That would be by doing as: https://stackoverflow./a/1099670/1020854 - But with a little modification
function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = [], tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params.push({k:decodeURIComponent(tokens[1]),v:decodeURIComponent(tokens[2])});
}
return params;
}
var obj =
getQueryParams("?Company=FLHS&Device=Crosstown_PCC_01&A=aValue&A=secondAValue")
obj[0] is {k: "Company", v: "FLHS"}
obj[1] is {k: "Device", v: "Crosstown_PCC_01"}
obj[2] is {k: "A", v: "aValue"}
obj[3] is {k: "A", v: "secondAValue"}
Sometimes this will work:
A[]=aValue&A[]=secondAValue
Otherwise you can do this:
A_1=aValue&A_2secondAValue
You can split on the the underscore or use mostly any character of your choice to differentiate values of querystring "A"