vue-routerのナビゲーションガードとaxiosブロッキングの違い
ナビゲーションガードの役割
ナビゲーションガードはvue-routerで提供されるルーティングジャンプ時にいくつかのことをし、与えられた条件に従ってグローバルガードrouterをジャンプする.beforeEachは主にユーザーのログイン状態を検証するために使用されます.ローカルナビゲーションガードbeforeEnterは主に現在のルーティングを守るために使用されます.
グローバルガードでもローカルガードでも、各ガードの方法には3つのパラメータがあります.to,from,next to:アクセスするルーティングオブジェクト from:現在のナビゲーションが離れるルーティング next:コールバック関数で、このメソッドを呼び出さなければなりません.そうしないと、ルーティングはnodeのようなミドルウェアを下にresolveしません.
axiosブロッキングの役割
リクエストの送信または応答において.あるいはcatchの前にブロックするには要求ブロックと応答ブロックに分けられ、要求の送信と応答の受信時にブロック内のコールバック関数をトリガするには必ず戻り値がある
ナビゲーションガードとaxiosブロッキングの違いナビゲーションガードはフロントエンド側のみが判断し、リクエストヘッダにtokenが付いているかどうかを確認し、tokenが失効しているかどうかを判断することはできません. でaxiosブロッカーはバックエンド側にリクエストを送信し,バックエンドはtokenの有効性を判断し,ユーザのログイン状態を決定する. 両者は、登録状態 を保証するために一緒に使用することができる.
ナビゲーションガードはvue-routerで提供されるルーティングジャンプ時にいくつかのことをし、与えられた条件に従ってグローバルガードrouterをジャンプする.beforeEachは主にユーザーのログイン状態を検証するために使用されます.ローカルナビゲーションガードbeforeEnterは主に現在のルーティングを守るために使用されます.
グローバルガードでもローカルガードでも、各ガードの方法には3つのパラメータがあります.to,from,next
axiosブロッキングの役割
リクエストの送信または応答において.あるいはcatchの前にブロックするには要求ブロックと応答ブロックに分けられ、要求の送信と応答の受信時にブロック内のコールバック関数をトリガするには必ず戻り値がある
//
axios.interceptors.request.use(function (config) {
// token
config.headers.Authorization = window.sessionStorage.getItem("token");
// Do something before request is sent
return config;
}, function (error) {
// Do something with request error
return Promise.reject(error);
});
//
axios.interceptors.response.use(function (response) {
// token ,
if (response.data.meta.status == 400 && response.data.meta.msg == " token") {
Vue.prototype.$message.warning(' ')
router.push('/login')
}
// Do something with response data
return response;
}, function (error) {
// Do something with response error
return Promise.reject(error);
});
ナビゲーションガードとaxiosブロッキングの違い