Expand querystring in URL with JavaScript

Used to add your querystring to an URL, it can judge if the querystring you try to add is exist in the URL, if so, replace it with new value, or expand the URL.

function  ExpandQS(queryStringName, queryStringValue)
{
    
var returnValue;
    
var currHref = window.location.href.substring(0,(window.location.href.length-window.location.search.length));
    
var currQuery = window.location.search.substring(1);
    
var args = currQuery.split('&');
    
var keyValuePairs = new Object();
    
if(currQuery) {
        
for(var i=0; i < args.length; i++{
            
var value;
            
var pair = args[i].split('=');
            
var name = unescape(pair[0]);

            
if (pair.length == 2){
                value 
= unescape(pair[1]);
            }

            
else{
                value 
= name;
            }
      
            keyValuePairs[name] 
= value;
        }

        
        keyValuePairs[queryStringName] 
= queryStringValue;
        
        
var newQuery = "";
        
        
for(var key in keyValuePairs){
            newQuery 
+= key + "=" + keyValuePairs[key] + "&";
        }

        
        newQuery 
= newQuery.substring(0, newQuery.length - 1);
        
        returnValue 
= currHref + "?" + newQuery;
    }

    
else{
        returnValue 
= currHref + "?" + queryStringName + "=" + queryStringValue;
    }

    
return returnValue;
}

Hopefully, it's useful to you.

你可能感兴趣的:(Expand querystring in URL with JavaScript)