Change URL parameters

前端 未结 26 2591
孤独总比滥情好
孤独总比滥情好 2020-11-22 08:40

I have this URL:

site.fwx?position=1&archiveid=5000&columns=5&rows=20&sorting=ModifiedTimeAsc

what I need is to be able to

26条回答
  •  傲寒
    傲寒 (楼主)
    2020-11-22 09:02

    Another variation on Sujoy's answer. Just changed the variable names & added a namespace wrapper:

    window.MyNamespace = window.MyNamespace  || {};
    window.MyNamespace.Uri = window.MyNamespace.Uri || {};
    
    (function (ns) {
    
        ns.SetQueryStringParameter = function(url, parameterName, parameterValue) {
    
            var otherQueryStringParameters = "";
    
            var urlParts = url.split("?");
    
            var baseUrl = urlParts[0];
            var queryString = urlParts[1];
    
            var itemSeparator = "";
            if (queryString) {
    
                var queryStringParts = queryString.split("&");
    
                for (var i = 0; i < queryStringParts.length; i++){
    
                    if(queryStringParts[i].split('=')[0] != parameterName){
    
                        otherQueryStringParameters += itemSeparator + queryStringParts[i];
                        itemSeparator = "&";
                    }
                }
            }
    
            var newQueryStringParameter = itemSeparator + parameterName + "=" + parameterValue;
    
            return baseUrl + "?" + otherQueryStringParameters + newQueryStringParameter;
        };
    
    })(window.MyNamespace.Uri);
    

    Useage is now:

    var changedUrl = MyNamespace.Uri.SetQueryStringParameter(originalUrl, "CarType", "Ford");
    

提交回复
热议问题