사용자로 로그인하면 예상대로 대시보드로 리디렉션됩니다. 로그아웃했다가 다시 로그인을 시도하자마자(다른 사용자와 함께 페이지를 새로 고치지 않은 경우에도) 콘솔에 다음 오류가 반환됩니다.
페이지가 새로 고쳐지지 않더라도 인증된 경우에만 대시보드에서 사용자를 리디렉션하고 싶습니다. 페이지를 새로 고치면 문제 없이 로그인할 수 있다는 것을 알았기 때문입니다.
가능하다면 도와주세요. 다음은 몇 가지 코드입니다:
로그인 방법
으아아아라우터의 대시보드 경로
으아아아vuex 저장소에서 작업을 수행해 보세요
으아아아vuex의 기타
methods: { ...mapActions({ attempt: "auth/attempt", }), submit(credentials) { axios .post("http://127.0.0.1:8000/api/login", credentials) .then((res) => { // console.log(res.data); if (res.data.success) { this.attempt(res.data.token) } if (res.data.errors) { this.loginErrors = res.data.errors; } else { this.$router.push({ name: 'dashboard' }) } }) .catch((err) => { if ( err.name !== "NavigationDuplicated" && !err.message.includes( "Avoided redundant navigation to current location" ) ) { console.log(err); } }); }, },
업데이트: 완료하려면
으아악attempt()
的调用,否则this.$router.push({ name: 'dashboard' })
(因此/dashboard
路由上的守卫函数)将被调用在对/api/user
API를 호출하기 전에 기다려야 합니다.
으아악next
은 정확히 한 번 호출되어야 하는 함수입니다( 반환되지 않음 ).라우터의 코드를 다음으로 변경해 보세요.