login.html 820 B

123456789101112131415161718192021222324252627
  1. <main class="container" v-scope>
  2. <form action="/action/login.php" method="post" @submit.prevent="login">
  3. <button type="submit">Iniciar Sesión</button>
  4. </form>
  5. </main>
  6. <script>
  7. PetiteVue.createApp({
  8. store,
  9. async login() {
  10. const response = await fetch('/action/login.php');
  11. try {
  12. const data = await response.json();
  13. sessionStorage.setItem('token', data.token);
  14. } catch (error) {
  15. store.error = {
  16. title: 'Error al iniciar sesión',
  17. message: 'No se pudo iniciar sesión, intente de nuevo más tarde'
  18. }
  19. }
  20. finally {
  21. // reload
  22. location.reload();
  23. }
  24. }
  25. }).mount()
  26. </script>