Почему URL становится таким (добавить? Перед #) после перенаправления и как я могу правильно перенаправить - PullRequest
0 голосов
/ 21 мая 2019

Я создаю страницу входа с функцией перенаправления, и логика выглядит следующим образом:

, если я никогда не вошел в систему и ввожу URL '/ home / qiputranscode', он будет перенаправлен на

'http://127.0.0.1:8000/#/login?redirect=%2Fhome%2Fqiputranscode'.

, затем мне нужно запросить у сервера имя пользователя и pwd, чтобы получить токен для записи страницы' / home / qiputranscode '.

, но после ввода моегоusername и pwd url становятся такими:

'http://127.0.0.1:8000/?#/login?redirect=%2Fhome%2Fqiputranscode'

и не запрашивают сервер или не перенаправляют на' /home/qiputranscode'.

, поэтому почемуURL добавить?сам по себе до #.

и в чем разница между ними, я буду благодарен, если вы дадите мне какое-либо предложение

код перенаправления, подобный этому:

router.beforeEach((to, from, next) => {
 if (to.matched.some(r => r.meta.requiredAuth)) {
   if (store.state.token) {
     next()
   } else {
     next ({
       path: '/login',
       query: {redirect: to.fullPath}
     })
   }
 } else {
   next()
 }
});

1 Ответ

0 голосов
/ 23 мая 2019

Часть после ? - это query с key=redirect и value=full path

Чтобы перенаправить на сохраненный путь, позвоните после входа в систему

router.push({ path: this.$route.query.redirectTo })

И вам также нужно запретить поведение формы по умолчанию

<form v-on:submit.prevent ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...