我在vueJS中有一个单页应用程序:
let router = new VueRouter({
routes: [
{ path: '/', component: Dis13HomeComponent },
{ path: '**', component: Dis13HomeComponent }
]
});
在mount()的主要组件中,我得到这样的url param:
this.$route.query.token;
但是,如果我打开http://www.myapp.com/app.html?token=s56ds6d5d56f6ef6e,它就不会读取令牌参数,因为vue正在将#/
添加到网址的末尾,因此它看起来像http://www.myapp.com/app.html?token=s56ds6d5d56f6ef6e#/
如果我打开url:http://www.myapp.com/app.html#/?token=s56ds6d5d56f6ef6e这种格式,那么它可以工作,但在服务器上禁止使用此路径。
我怎样才能读取令牌参数?
答案 0 :(得分:1)
让您的路由器使用history
模式,您将不再拥有'#'。
const router = new VueRouter({
mode: 'history', // <------------- HERE
routes: [
{ path: '/', component: Dis13HomeComponent },
{ path: '**', component: Dis13HomeComponent }
]
});