Sencha touch sencha touch:登录请求响应

Sencha touch sencha touch:登录请求响应,sencha-touch,extjs,sencha-touch-2,Sencha Touch,Extjs,Sencha Touch 2,我对sencha touch非常陌生,开始构建简单的登录表单。 我的UI已经准备好了,但现在我被困在如何为登录请求-响应编写代码上 同样重要的是,我如何指向特定的url以发出POST/GET请求 还有如何获取和解析json数据 我阅读了sench touch文档,但我不明白如何使用该模型、存储和代理。 关于如何创建模型、存储、代理以进行简单登录的建议非常有用 提前谢谢 编辑以插入图像: 你快到了 将代码添加到成功回调。 注意,如果ajax返回ok,则调用success(),否则调用failur

我对sencha touch非常陌生,开始构建简单的登录表单。 我的UI已经准备好了,但现在我被困在如何为登录请求-响应编写代码上

同样重要的是,我如何指向特定的url以发出POST/GET请求

还有如何获取和解析json数据

我阅读了sench touch文档,但我不明白如何使用该模型、存储和代理。 关于如何创建模型、存储、代理以进行简单登录的建议非常有用

提前谢谢

编辑以插入图像:

你快到了

将代码添加到成功回调。 注意,如果ajax返回ok,则调用success(),否则调用failure()。回调()在这两种情况下都会触发

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);
    }
});
免责声明。当然,代码没有经过测试

干杯,奥列格你就快到了

将代码添加到成功回调。 注意,如果ajax返回ok,则调用success(),否则调用failure()。回调()在这两种情况下都会触发

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);
    }
});
免责声明。当然,代码没有经过测试


干杯,Oleg

usando ajax请求示例:

使用ajax请求的示例:

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) {


        }
    });

usando ajax请求示例:

使用ajax请求的示例:

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) {


        }
    });

请添加javascript代码我只是问我不知道如何编写javascript代码来执行登录请求-响应,但我仍然添加了我编写的代码来绘制发布的UI请添加javascript代码我只是问我不知道如何编写javascript代码来执行登录请求-响应,但我仍然添加了我写的代码来绘制发布的UIHey谢谢。。我没有在url stmt之后编写stmt
**方法:'POST'**
。。这个丢失的stmt会影响什么吗?如果你的服务器接受POST,当然会。查看您的服务器配置。您可以使用任何HTTP类型,GET/POST/PUT等。查看更多信息,我不建议在登录时使用model/proxy/store,但这是可能的。最好从此查询返回凭据数据。在我的应用程序中,我从服务器获取了一个会话令牌,并将其保存到内部应用程序的变量中。接下来的所有ajax查询都会将其作为参数或cookie包含。这取决于你的应用程序设计/服务器部分。谢谢。。我没有在url stmt之后编写stmt
**方法:'POST'**
。。这个丢失的stmt会影响什么吗?如果你的服务器接受POST,当然会。查看您的服务器配置。您可以使用任何HTTP类型,GET/POST/PUT等。查看更多信息,我不建议在登录时使用model/proxy/store,但这是可能的。最好从此查询返回凭据数据。在我的应用程序中,我从服务器获取了一个会话令牌,并将其保存到内部应用程序的变量中。接下来的所有ajax查询都会将其作为参数或cookie包含。这取决于您的应用程序设计/服务器部分