Created
April 25, 2019 15:34
-
-
Save pradeep3/8112dd6eb51305418ea35756a5f2a32a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The tutorial Getting URL Parameters with Javascript explained how you can get url parameters with the URL and URLSearchParams objects. This tutorial explains how you can change a url - edit a parameter, add a new parameter or delete one. | |
Editing a Parameter | |
The set method of the URLSearchParams object sets the new value of the parameter. | |
After setting the new value you can get the new query string with the toString() method. This query string can be set as the new value of the search property of the URL object. | |
The final new url can then be retrieved with the toString() method of the URL object. | |
var url = new URL('http://demourl.com/path?id=100&topic=main'); | |
var query_string = url.search; | |
var search_params = new URLSearchParams(query_string); | |
// new value of "id" is set to "101" | |
search_params.set('id', '101'); | |
// change the search property of the main url | |
url.search = search_params.toString(); | |
// the new url string | |
var new_url = url.toString(); | |
// output : http://demourl.com/path?id=101&topic=main | |
console.log(new_url); | |
Adding a New Parameter | |
The set method can be used to add a new parameter as well - the parameter is added if it does exist, otherwise its value is changed. | |
The append method can be used to add multiple values to a parameter. | |
var url = new URL('http://demourl.com/path?id=100&topic=main'); | |
var query_string = url.search; | |
var search_params = new URLSearchParams(query_string); | |
search_params.append('id', '101'); | |
search_params.append('id', '102'); | |
url.search = search_params.toString(); | |
var new_url = url.toString(); | |
// output : http://demourl.com/path?id=100&id=101&id=102&topic=main | |
console.log(new_url); | |
Deleting a Parameter | |
The delete method can be used to delete a parameter. | |
search_params.delete('id'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment