dashboard
管理ダッシュボード テンプレートを使用しており、ログインに成功したときにリダイレクトするようにしました。しかし、驚いたことに、ログイン ダイアログが削除され、ルート ハッシュが正常に変更され#dashboard
ますが、ダッシュボードはレンダリングされません。背景画像を表示中
ログイン成功コールバックのコード スニペットを次に示します。
me.getView().destroy();
me.redirectTo('dashboard');
成功せずに
更新 (ここにコード フローとスニペットがあります)
前述のとおり、AdminDashboard テンプレートが使用されています。ここにルートがあります
routes: {
'login' : 'loginView',
':node': {
before: 'isUserLoggedIn',
action: 'onRouteChange'
}
},
ユーザーがログインしていない場合、明らかな要求が停止され、ログイン ビューに再ルーティングされます (意図したとおり)。
ユーザーが資格情報を送信すると、同じものがバックエンド経由でチェックされ、成功するとユーザーはダッシュボードに再ルーティングされます
onLoginButtonClick: function() {
var me = this;
var values = Ext.getCmp('userLoginForm').getValues();
Ext.Ajax.request({
url: 'api/user/login',
params: values,
method: 'POST',
success: function(response, opts) {
me.getView().destroy();
me.redirectTo('dashboard');
},
failure: function(response, opts) {
console.log('login Failed');
}
});
}
これは意図したとおりに機能し、バックエンドにリクエストを発行し、バックエンドはステータス 200 を返します (資格情報が正しい場合)
ただし、このログイン ダイアログが消え、ルート ハッシュが変更された後#dashboard
も、ログイン ビューで使用されるバックエンド イメージがページに表示されます (管理ダッシュボード テンプレート)。
これで明確になったと思います コンソールに JS エラーは表示されません 画像が削除されていないだけです