The current article is taken from http://blog.telerik.com
In some scenarios it is useful to encode and decode the URI. For example:
To avoid unexpected requests to the server, you should call encodeURIComponent on any user-entered parameters that will be passed as part of a URI. For example, a user could type "Thyme &time=again" for a variable comment. Not using encodeURIComponent on this variable will give comment=Thyme%20&time=again. Note that the ampersand and the equal sign mark a new key and value pair. So instead of having a POST comment key equal to "Thyme &time=again", you have two POST keys, one equal to "Thyme " and another (time) equal to again.
encodeURIComponent
Core Function:
Encodes a Uniform Resource Identifier (URI) component by replacing each instance of certain characters by one, two, or three escape sequences representing the UTF-8 encoding of the character.
//Syntax
var encoded = encodeURlComponent(str);
encodeURIComponent escapes all characters except the following: alphabetic, decimal digits, - _ . ! ~ * ' ( )
decodeURIComponent
Replaces each escape sequence in the encoded URI component with the character that it represents.
Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent or by a similar routine.