Vueはルーティングフックtokenを利用して期限が切れた後にログインページにジャンプします
2446 ワード
Vueはルーティングフックtokenを利用して期限が切れた後にログインページにジャンプします
Vue 2.0のルーティングフックは、主にナビゲーションをブロックし、ジャンプまたは前キャンセルを完了させるために使用され、ルーティングガードと理解される.グローバルナビゲーションフック、単一ルーティングで楽しむフック、コンポーネント内フックに分けられます.3つのタイプのフックは、使用する場所が異なるだけで、1つの関数をパラメータとして受け入れ、関数はto,from,nextの3つのパラメータに伝達されます.このうちnextには3つの方法(1)next();//デフォルトルーティング(2)next(false);//ルーティングのジャンプを阻止する(3)next({path:’/’});//デフォルトのルーティングをブロックし、指定したパスにジャンプ
ここではコンポーネント内のフックを使ってtokenが期限切れになったと判断してログインページにジャンプし、他の2つのフックは公式サイトで見ることができます.
Vue 2.0のルーティングフックは、主にナビゲーションをブロックし、ジャンプまたは前キャンセルを完了させるために使用され、ルーティングガードと理解される.グローバルナビゲーションフック、単一ルーティングで楽しむフック、コンポーネント内フックに分けられます.3つのタイプのフックは、使用する場所が異なるだけで、1つの関数をパラメータとして受け入れ、関数はto,from,nextの3つのパラメータに伝達されます.このうちnextには3つの方法(1)next();//デフォルトルーティング(2)next(false);//ルーティングのジャンプを阻止する(3)next({path:’/’});//デフォルトのルーティングをブロックし、指定したパスにジャンプ
ここではコンポーネント内のフックを使ってtokenが期限切れになったと判断してログインページにジャンプし、他の2つのフックは公式サイトで見ることができます.
//
beforeRouteEnter(to, from, next) {
let postdata = {
meta: {
client_version: "1.0",
client_type: "1",
},
data: {
access_token: $.cookie("authtoken").toString()
}
}
$.ajax({
url: urls.serchuser,
type: 'POST',
data: JSON.stringify(postdata)
}).done(data => {
data = JSON.parse(data);
console.log(data);
if(data.status == 10050) {
next(false);
location.href = 'login.html';
}else{
next();
}
})
}
実装方法は簡単で、ルーティング前にサーバに要求を送信し、返されたデータがtokenの期限切れを示している場合、デフォルトのジャンプはブロックされます.そうしないと、正常にジャンプします.