una - recibir parametros en javascript
Cómo codificar los parámetros de URL? (2)
Estoy tratando de pasar parámetros a una URL que se ve así:
http://www.foobar.com/foo?imageurl=
y quiero pasar los parámetros como URL de imagen que se genera por otra API, y el enlace de la imagen resulta ser:
http://www.image.com/?username=unknown&password=unknown
Sin embargo, cuando intento usar la URL:
http://www.foobar.com/foo?imageurl=http://www.image.com/?username=unknown&password=unknown
no funciona ..
También he intentado usar encodeURI y encodeURIComponents en el imageURL, y eso tampoco funciona.
Al utilizar Object.entries ES-8 (), se convierte en un pequeño y divertido mapa / join anidado:
const encodeGetParams = p =>
Object.entries(p).map(kv => kv.map(encodeURIComponent).join("=")).join("&");
const params = {
user: "María Rodríguez",
awesome: true,
awesomeness: 64,
"ZOMG+&=*(": "*^%*GMOZ"
};
console.log("https://example.com/endpoint?" + encodeGetParams(params))
Con PHP
echo urlencode("http://www.image.com/?username=unknown&password=unknown");
Resultado
http%3A%2F%2Fwww.image.com%2F%3Fusername%3Dunknown%26password%3Dunknown
Con Javascript:
var myUrl = "http://www.image.com/?username=unknown&password=unknown";
var encodedURL= "http://www.foobar.com/foo?imageurl=" + encodeURIComponent(myUrl);