Pupper
Pupper

Reputation: 2355

Loop through URL GET variables with javascript

I know you can obtain an URL variable by calling getUrlVars()["id"], however is there a way to get all (an unknown number of) variables in the URL? For a few reasons I am only allowed to do this on client side.

Upvotes: 4

Views: 6976

Answers (2)

Weilory
Weilory

Reputation: 3111

mdn

let url = new URL(a.href);
for (const [key, value] of url.searchParams) {

}

Upvotes: 1

redmoon7777
redmoon7777

Reputation: 4526

try this:

function getUrlVars()
{
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++)
        {
                hash = hashes[i].split('=');                        
                vars[hash[0]] = hash[1];
        }
        return vars;
}

var url_vars = getUrlVars();
for(var i in url_vars)
{
        alert(i + " == " + url_vars[i]);
}   

Upvotes: 6

Related Questions