Introducción
En este proyecto, aprenderás cómo enviar solicitudes con encabezados de autorización utilizando Axios y cómo actualizar el DOM basado en los datos de respuesta. Construirás una aplicación web simple que interactúe con un servidor para obtener partes de una misteriosa incantación.
👀 Vista previa

🎯 Tareas
En este proyecto, aprenderás:
- Cómo configurar el proyecto y obtener el código inicial
- Cómo implementar la funcionalidad para el botón "Llave 1"
- Cómo implementar la funcionalidad para el botón "Llave 2"
- Cómo comprobar si se puede abrir la caja del tesoro basado en las partes de la incantación obtenidas
🏆 Logros
Después de completar este proyecto, podrás:
- Utilizar Axios para realizar solicitudes HTTP con encabezados personalizados
- Manipular el DOM para mostrar contenido dinámico
- Implementar lógica condicional para comprobar condiciones específicas
- Seguir instrucciones paso a paso para completar un proyecto de desarrollo web
Configura la estructura del proyecto
En este paso, establecerás los archivos y la estructura del proyecto. Sigue los pasos siguientes para completar este paso:
Abre la carpeta del proyecto. La estructura de directorios es la siguiente:
├── css
├── lib
├── js
│ └── index.js
└── index.html
Entre ellos:
index.htmles la página principal.csses la carpeta para almacenar los estilos del proyecto.libes la carpeta para almacenar las dependencias JavaScript del proyecto.js/index.jses el archivo JavaScript donde debes complementar el código.
Haz clic en el botón Go Live en la esquina inferior derecha de WebIDE, para ejecutar el proyecto.
A continuación, abre "Web 8080" en la parte superior de la VM y actualízala manualmente para ver la página.
Implementa el botón de Llave 1
En este paso, implementarás la funcionalidad para el botón "Llave 1".
En el archivo
js/index.js, localiza el bloquekey1Button.addEventListener("click", async () => {... }).Cambia
let { data } = await axios.get("/spellone");al siguiente código:let { data } = await axios.get("/spellone", { headers: { Authorization: "2b58f9a8-7d73-4a9c-b8a2-9f05d6e8e3c7" } });Estas líneas de código enviarán una solicitud GET al punto final
/spellonecon el encabezadoAuthorizationestablecido con el token proporcionado. Los datos de respuesta se mostrarán en el elementospell1.Guarda el archivo
js/index.js.
Implementa el botón de Llave 2
En este paso, implementarás la funcionalidad para el botón "Llave 2".
En el archivo
js/index.js, localiza el bloquekey2Button.addEventListener("click", async () => {... }).Cambia
let { data } = await axios.get("/spelltwo");al siguiente código:let { data } = await axios.get("/spelltwo", { headers: { Authorization: "2b58f9a8-7d73-4a9c-b8a2-9f05d6e8e3c7" } });Estas líneas de código enviarán una solicitud GET al punto final
/spelltwocon el encabezadoAuthorizationestablecido con el token proporcionado. Los datos de respuesta se mostrarán en el elementospell2.Guarda el archivo
js/index.js.
Revisa la caja del tesoro
En este paso, implementarás la lógica para comprobar si se puede abrir la caja del tesoro.
- En el archivo
js/index.js, localiza la funcióntryOpenTreasureBox(). - Esta función comprueba si el contenido de los elementos
spell1yspell2coincide con los valores esperados ("I love you" y "You love me too"). Si se cumplen las condiciones, agregará la clase "abierta" al elementotreasureBoxy mostrará el mensaje de éxito. - Guarda el archivo
js/index.js.
Prueba la aplicación
- Vuelve al navegador y actualiza la página.
- Haz clic en los botones "Llave 1" y "Llave 2" y observa los cambios en la página.
- Si la caja del tesoro se abre con éxito, verás el mensaje de éxito mostrado. El efecto final es el siguiente:

¡Felicitaciones! Has completado el proyecto "Encantamiento Misterioso". Has aprendido cómo enviar solicitudes con encabezados de autorización utilizando Axios y cómo actualizar el DOM basado en los datos de respuesta.
Resumen
¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



