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