Pasar argumentos entre páginas

Problema:

Enviar argumentos al cambiar a otra página

En algunas aplicaciones es necesario enviar datos a la pa´gina a la que vamos a saltar o visitar.

Por ejemplo: quiero ir a una página con un catálogo pero solo quiero que muestre una categoría.

Lo ideal sería indicarle la caegoría que quiero que muestre, pero solo con Javascript.

Solución

La solución más dimples es usar adjuntar los datos a la URL del destino.

La dirección url de una pa´gina puede llevar una cadena de texto con datos. ES la base del método GET.

Los datos se pasan separándolos de la url mediante el símbolo ?. Y seguido los datos con el formato que queramos, por ejemplo dato=valor.

La página llamada podrá acceder a esos valores mediante las propiedad search del objeto window.location .

Ejemplo

Como ejemplo vaos a llamar a la página presentar.html con el texto "Antonio" como argumento. La llamada sería

<a href="presentar.html?Antonio>Presentar</a>

La página llamada (presentar.html) podría acceder al argumento con la propiedad location.search

Podríamos usar este argumento para usarlo en un script de la página

<body>

<div id="saludo"></div>

....

<script>

let saludo = document.getElementById('saludo');

let param = locaton.search.substr(1);

saludo.innerHTML = "Hola "+param;

</script>

</body>

Observa el uso del método  substr necesario para eliminar el carácter ? que está incluido en location.search.

Este ejemplo pondrá el saludo Hola Antinio en el cuadro con id = "saludo".

scripts