Skip to content

Instantly share code, notes, and snippets.

@chrisjhoughton
Created September 30, 2013 14:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chrisjhoughton/6764967 to your computer and use it in GitHub Desktop.
Save chrisjhoughton/6764967 to your computer and use it in GitHub Desktop.
A module to get a query parameter
define(function() {
var QueryString = function() {
// This function is anonymous, is executed immediately and
// the return value is assigned to QueryString!
var query_string = {};
var query = window.location.search.substring(1);
// String trailing forward slash if exists
if (query.charAt(query.length - 1) == "/") {
query = query.substr(0, query.length - 1);
}
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
// If first entry with this name
if (typeof query_string[pair[0]] === "undefined") {
query_string[pair[0]] = pair[1];
// If second entry with this name
} else if (typeof query_string[pair[0]] === "string") {
var arr = [query_string[pair[0]], pair[1]];
query_string[pair[0]] = arr;
// If third or later entry with this name
} else {
query_string[pair[0]].push(pair[1]);
}
}
return query_string;
}();
return QueryString;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment