var url = encodeURIComponent('url');
/* There are 11 characters which are not encoded by encodeURI,
but encoded by encodeURIComponent. */
encodeURI("test uri");
// "test%20uri"
encodeURI("test uri");
// "test%20uri"
encodeURI("test uri/with a slash");
// "test%20uri/with%20a%20slash"
encodeURIComponent("test uri/with a slash");
// "test%20uri%2Fwith%20a%20slash"
var set1 = ";,/?:@&=+$#"; // Caracteres reservados
var set2 = "-_.!~*'()"; // Marcas não reservadas
var set3 = "ABC abc 123"; // Caracteres alfanuméricos + Espaço
console.log(encodeURI(set1)); // ;,/?:@&=+$#
console.log(encodeURI(set2)); // -_.!~*'()
console.log(encodeURI(set3)); // ABC%20abc%20123 (o espaço é codificado como %20)
Check out the built-in function encodeURIComponent(str) and encodeURI(str).
In your case, this should work:
var myOtherUrl =
"http://example.com/index.html?url=" + encodeURIComponent(myUrl);
encodeURIComponent('')