Vue.js неправильно обновляет URL - PullRequest
2 голосов
/ 30 сентября 2019

Join.vue

<template>
  <div class="container join-form">
    <form>
      <div class="container">
        <h2>Join to session</h2>
      </div>
      <div class="form-group">
        <label for="sessionId">Session ID:</label>
        <input v-model="sessionId" class="form-control" type="text" name="sessionId" placeholder="Session ID">
      </div>
      <div class="form-group">
        <label for="userName">Username:</label>
        <input v-model="userName" class="form-control" type="text" name="userName" placeholder="Your name">
      </div>
      <button v-on:click.prevent="joinSession()" class="btn btn-primary">Join session</button>
    </form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      userName: "",
      sessionId: this.$route.params.sessionId,
      userId: null
    };
  },
  methods: {
    joinSession() {
      this.$http
        .post('/joinsession', {
          userName: this.userName,
          sessionId: this.sessionId
        })
        .then(
          data => {
            this.userId = data.body.userId;
            this.$router.push("/user/" + this.sessionId + "/" + this.userId);
          },
          () => {
            this.$router.push("/error");
          }
        );
    }
  }
};
</script>

<style>
.join-form {
  width: 50%;
}
</style>

Я хочу иметь "/ user / {sessionId} / {userId}", но вместо этого у меня есть

"http://projectx.laragon:8090/user/3/[object%20Object],[object%20Object]"

Как я могу решить эту проблему? Я использую Laravel в сочетании с Vue-Resource &% Vue-Router для переключения между различными файлами .vue, которые все вместе в App.vue. означает, что мой URL не вводится активно, он просто отображается без выборки с сервера.

Например: "user / {userId} / {sessionId}" - это 404, если я не зарегистрировал его в своей сети.php

1 Ответ

0 голосов
/ 30 сентября 2019

Кажется, вы действительно хотите сделать

this.$router.push( { path: '/user', params: { sessionId: this.sessionId, userId: this.userId } });

Если это все еще не работает, проверьте конфигурацию маршрута и значения sessionId / userId.

Для получения дополнительной информации см. документы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...