зачем перенаправлять страницу входа на страницу индекса при отправке формы в nuxt? - PullRequest
1 голос
/ 13 марта 2020

Я пытаюсь сделать нормальную страницу входа в систему с помощью модулей nuxt и nuxt / auth. То, что происходит, заключается в том, что при нажатии кнопки «Отправить» происходит перемещение к странице индекса. это мой html код:

<template>
  <div class="container">
    <b-card
     header="Sign In"
     header-bg-variant="secondary"
     header-text-variant="white"
     style="width: 20rem;"
   >
     <b-form @submit="onSubmit">
      <b-form-group
        id="input-group-1"
        label="Username:"
        label-for="input-1"
      >
       <b-form-input
        id="input-1"
        v-model="form.userName"
        type="email"
        required
        placeholder=""
      ></b-form-input>
       </b-form-group>

       <b-form-group id="input-group-2" label="Password:" label-for="input-2">
         <b-form-input
           id="input-2"
           type="password"
           required
           v-model="form.password"
           placeholder=""
         ></b-form-input>
       </b-form-group>

       <b-form-group id="input-group-3" label="Reference:" label-for="input-3">
        <b-form-input
        id="input-3"
        v-model="form.reference"
        required
        placeholder=""
      ></b-form-input>
      </b-form-group>
      <b-button type="submit" variant="primary">Submit</b-button>
  </b-form>
  </b-card>
 </div>
 </template>

, и это моя JS функция отправки:

async onSubmit(evt) {
    evt.preventDefault();
    var self = this;
    var data = {
      email: self.form.userName,
      password: self.form.password,
      role: "publisher"
    };

    try{
      await this.$auth.loginWith("local", {
        data: data
      })
    }catch (e) {
      console.log(e);
      self.emailCheck = true;
    }

    if (this.$auth.loggedIn) {
      axios.defaults.headers.common["authorization"] = self.$auth.getToken(
        "local"
      )
      axios.get(self.baseUrl + "devices/config/" + self.form.reference)
        .then(async function (response) {

          self.$router.push({
            name: "mediaPlayer"
          });

        })
        .catch(function (error) {
          console.log(error);
          self.refCheck = true;
        });
      }
    }

Я пытался поместить событие предотвращения в html, как это @submit.stop.prevent="onSubmit" но тоже ничего. я хочу, чтобы go перешел на страницу mediapalyer, если вход выполнен, или просто выполните консоль ошибки, если это не так.

...