关于extjs:sencha-touch:登录请求-响应

sencha-touch: Login request-response

我对sencha-touch很陌生


示例usando ajax请求:

使用ajax请求的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Ext.Ajax.request({
        url: domain.com/auth/signIn/',
        method: 'post',
        scope: this,
        params: {
            email: username,
            password: password
        },

        success: function (response) {

            var result = Ext.JSON.decode(response.responseText);

            if (result.meta.code==200)
            {

                /**
                 * Salvando dados do usu??rio em localStorage
                 * Save user data on localStorage
                 */
                window.localStorage.setItem('myID', result.response.id);
                window.localStorage.setItem('email', result.response.email);
                window.localStorage.setItem('token', result.response.token);
                window.localStorage.setItem('fName', result.response.fName);
                window.localStorage.setItem('lName', result.response.lName);
                window.localStorage.setItem('photo', result.response.photo);
                window.localStorage.setItem('gender', result.response.gender);
                window.localStorage.setItem('relationship', result.response.relationship);
                window.localStorage.setItem('interest', result.response.interest);

                this.signInSuccess();                    
                this.verifyDeviceToken(result.response.id, 'signin');

            }
            else
            {

                 this.signInFailure('Error', 'The data reported are invalid');

            }
        },

        failure: function (response) {


        }
    });

你快到了!

将您的代码添加到成功回调中。
注意,如果ajax返回ok,则触发成功()回调,否则返回失败()。在两种情况下都会触发回调callback()。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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);
    }
});

免责声明。当然代码没有经过测试...

欢呼,奥列格