1

私はsencha-touchにとても慣れておらず、簡単なログインフォームの作成を始めました。UIの準備はできていますが、ログイン要求応答のコードを作成する方法に固執しています。

重要なのは、POST / GETリクエストを行うために特定のURLをポイントするにはどうすればよいですか?

また、jsonデータを取得して解析する方法もあります。

私はsench-touchのドキュメントを読みましたが、そのモデル、ストア、プロキシの使用方法がわかりませんでした。簡単なログインを行うためのモデル、ストア、プロキシの作成方法に関する提案は非常に役立ちます。

前もって感謝します。

画像を挿入するように編集:

ここに画像の説明を入力してください

var loginForm = Ext.create('Ext.form.Panel', {
    fullscreen: true,

    items: [{
        xtype: 'fieldset',
        items: [
            {
                xtype: 'textfield',
                name : 'name',
                label: 'Username'
            },
            {
                xtype: 'passwordfield',
                name : 'password',
                label: 'Password'
            }
        ]
    }]
});

loginForm.add({
                xtype: 'button',
                text: 'Login',
                ui: 'confirm',
                badgeText: '1',
                // handler: function(){
                    // // alert("handler invoked");
                // },

                listeners : {
                tap : function() {

                var form = Ext.getCmp('form-id');
                var values = form.getValues();
                Ext.Ajax.request({
                      url: 'https://102.XXX.X.XX:XXXX/QuizMasterServer/rest/login',
                      params: values,

                      success: function(response){
                          var text = response.responseText;
                          Ext.Msg.alert('Success', text);
                     },

                     failure : function(response) {
                           Ext.Msg.alert('Error','Error while submitting the form');
                           console.log(response.responseText);
                     }
              });
}
}
});



loginForm.add({
    xtype: 'toolbar',

    // id:'loginPressed',

    docked: 'bottom',
    // layout: { pack: 'center' },
    items: [
        {
            xtype: 'button',
            text: 'Login',
            ui: 'confirm',
            // action: 'login',

            handler: function() {
                loginForm.setValues({
                    name: 'vs',
                    password: 'vs'
                })
            }
        },
        {
            xtype: 'button',
            text: 'Clear',
            ui:'decline',
            handler: function() {
                loginForm.reset();
            }
        },

        {
            xtype: 'button',
            centered: true,
            text: 'Sign Up',
            handler: function() {
                alert('New User?');
            }
        },
        {
            xtype: 'container',
            html: 'New User? ',
            style: {
                color: 'yellow',
            }
        },
    ]
});
4

2 に答える 2

0

あなたはもうすぐそこにいます!

コードを成功のコールバックに追加します。ajax が OK を返した場合に呼び出された場合は success() コールバック、そうでない場合は failure() コールバックに注意してください。どちらの場合も、コールバック callback() が起動します。

Ext.Ajax.request({
    url: 'https://102.XXX.X.XX:XXXX/QuizMasterServer/rest/login',
    params: values,

    success: function(response){
        var text = response.responseText;
        // for example
        var result = Ext.decode(text);  // json parsing
        if (result.ok) {
            //create new widget
            var homeView = Ext.widget('homePage', {...});
            Ext.Viewport.remove(formLogin);
            Ext.Viewport.add(homeView);
            ///... etc
            homeView.show()
        }
        Ext.Msg.alert('Success', text);
    },

    failure : function(response) {
        Ext.Msg.alert('Error','Error while submitting the form');
        console.log(response.responseText);
    }
});

免責事項。もちろん、コードはテストされていません...

乾杯、オレグ

于 2012-08-30T10:33:56.867 に答える