utf8_encode una recibir por pasar parametros obtener funcion enviar desde datos acentos javascript url encodeuricomponent

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);

DEMO: http://jsfiddle.net/Lpv53/