#javascript #vue.js #axios
#JavaScript #vue.js #axios
Вопрос:
у меня проблема с входом в axios с помощью Vue 3.
После успешного входа в API access и авторизации я помещаю router.push для перенаправления страницы на панель мониторинга, код, подобный этому:
axios.post('auth/signin', {
username: username,
password: password
}).then((response) => {
localStorage.setItem('accessToken', response.data.accessToken)
localStorage.setItem('refreshToken', response.data.refreshToken)
toast.success("Login sukses")
if(VueJwtDecode.decode(localStorage.getItem('accessToken')).sub == "admin"){
router.push({name: 'admin.dashboard.index'})
}else if(VueJwtDecode.decode(localStorage.getItem('accessToken')).sub == "user"){
router.push({name: 'user.dashboard.index'})
}else if(VueJwtDecode.decode(localStorage.getItem('accessToken')).sub == "company"){
router.push({name: 'company.dashboard.index'})
}
}).catch(error => {
toast.error(error.response.data.error.message);
})
Он успешно перенаправляет пользователя на панель мониторинга, но заголовок axios не работает, я должен обновить (f5) страницу браузера, чтобы запустить функцию запуска заголовка axios.
хотя я уже добавил
axios.defaults.headers['x-access-token'] = localStorage.getItem('accessToken')
строка в main.js
Как это исправить? Спасибо раньше.
Комментарии:
1. Почему бы не добавить
axios.defaults.headers['x-access-token'] = response.data.accessToken
сразу после входа в систему?2. Он работает только один раз, после обновления браузера, он не будет работать
3. Я не предлагаю удалять запись из
main.js
4. хорошо, теперь это работает. Я не удаляю запись из основного js, а также добавляю ее после входа в систему. Спасибо
Ответ №1:
main.js
будет компилироваться только при первой загрузке, поэтому вам следует отредактировать свой axios
заголовок при поступлении нового токена доступа
Комментарии:
1. @ASHafizullah Добро пожаловать, пожалуйста, подумайте о том, чтобы отметить мой ответ как правильный ответ, если он вам помог