php - Vue.js 没有正确更新 URL
问题描述
加入.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 结合使用,以便在 App.vue 中的不同 .vue 文件之间切换。这意味着我的 URL 没有主动输入,它只是显示而不从服务器获取。
例如:“user/{userId}/{sessionId}”如果我没有在我的 web.php 中注册它是 404
解决方案
看来你真的想做
this.$router.push( { path: '/user', params: { sessionId: this.sessionId, userId: this.userId } });
如果它仍然不起作用,请检查您的路由配置和sessionId
/userId
值。
有关更多信息,请参阅文档
推荐阅读
- java - 如果我们使用 requestdispatcher.forward() 转发来自 spring mvc 的请求并且仍然返回 true 会发生什么?
- r - 有没有一个函数可以接近() %in% 是 == 吗?
- java - java火花1.6 csv文件
- python - Odoo 11如何覆盖one2many字段的自动生成模式视图
- sql - SQL Server:计算一条记录可以应用于表的次数
- c# - 如何在 C# 中使用 mailkit 在草稿中添加字节 [] 附件
- jenkins - 有没有办法在有条件的情况下跳过整个 Jenkins 流水线(不是阶段)
- windows - 你能用 AutoHotkey 绑定一个键来最小化所有打开的窗口吗?
- python - 如何按单元格/元素将自定义函数应用于两个数据框?
- r - R:Renderui 没有正确初始化