Sencha Touch 2.0.0.RCを使用してモバイルWebアプリケーションを開発していますが、私の問題はこのフレームワークに関連しているとは思われません。ここで更新後にのみアクセスできるlocalStorage
は、ワークフローです:トークンはローカルストレージに存在する場合、起動時に
、app.jsがロードされ、チェックです:
launch: function() {
if (localStorage.getItem('myToken')) {
Ext.create('MyApp.view.Viewport');
}
else{
Ext.create('MyApp.view.Login');
}
}
私が初めてアプリケーションをロードするので、トークンが見つからないため、ログインビューが作成されます。 login.jsで
コントローラ、関数はフォームの値を取得し、残りのAPIにAJAX要求を送信しsubmitLoginForm:
submitLoginForm: function() {
var formValues = this.getLoginForm().getValues();
Ext.Ajax.request({
scope: this,
url: 'http://mydomain.com/api/login/token',
method: 'POST',
params: formValues,
success: function (response) {
var result = Ext.JSON.decode(response.responseText);
if (result.success) {
localStorage.setItem('myToken', result.token);
var viewport = Ext.create('MyApp.view.Viewport');
this.getLoginForm().setHidden(true);
viewport.show();
}
else{
Ext.Msg.alert('Error', 'Bad username or password');
}
},
failure: function() {
//
}
});
}
ユーザ名とパスワードが正しい場合は、トークンが返されたI localStorageに格納します。 URLは次のようになりますその瞬間
store: {
//...
proxy: {
//...
url: 'http://mydomain.com/api/controller/function/?token=' + localStorage.getItem('myToken')
}
}
:その後 、私はAPIにアクセスするためにトークンを利用している(viewport.js)を作成し、別のビューを表示
http://mydomain.com/api/controller/function/?token=null&...
しかし、私は私のブラウザを更新すると、すべてがうまくされ、トークンが帰ってきた:
http://mydomain.com/api/controller/function/?token=tokenValue&...
私も完全に私の閲覧を閉じることができますrを再度開いて、ログインを要求されずにアプリケーション全体にアクセスします。
S.O.また、[ST2.X Forum](http://www.sencha.com/forum/forumdisplay.php?90-Sencha-Touch-2.x-Q-amp-A)に投稿してみてください。司祭(彼は司会者)の多くを知っていて、通常は速く答える「ミチェルシモンス(mitchellsimoens)」という男がいます。 – RaphaelDDL
ええ、私はその男を知っている、彼は非常にアクティブです。私はそのフォーラムに私の質問を掲載しました。私はSencha Touchとは何の関係もないので(私の意見では)、私はここで運が良かったと思っていました。 –