Sencha touch 表格提交isn';行不通

Sencha touch 表格提交isn';行不通,sencha-touch,extjs,sencha-touch-2,Sencha Touch,Extjs,Sencha Touch 2,我正在使用Sencha Touch 2创建登录系统。我在提交表格时遇到问题。它没有从服务器获取响应数据。下面是我的代码 控制器: Ext.define("MyMobile.controller.LoginController", { extend: "Ext.app.Controller", views: ['LoginView'], config: { refs: { loginForm: "#loginFormPanel" }, control: {

我正在使用Sencha Touch 2创建登录系统。我在提交表格时遇到问题。它没有从服务器获取响应数据。下面是我的代码

控制器:

Ext.define("MyMobile.controller.LoginController", {
extend: "Ext.app.Controller",
views: ['LoginView'],

config: {
    refs: {
        loginForm: "#loginFormPanel"
    },
    control: {
        'button[action=login]': {
            tap: "authenticateUser"
        }
    }
},

authenticateUser: function (button) {

    this.getLoginForm().submit({
        url: 'login/authenticate',
        method: 'POST',
        success: function (form, result) {
            debugger; //This block of code is not executing even after JSON response
            var jsonoutput = Ext.decode(result);  // json parsing
            Ext.MessageBox.alert('Error', "Success");

        },
        failure: function (form, result) {//This block of code is not executing even after JSON response
            Ext.MessageBox.alert('Error', "Invalid username/password");
        }

    });
}

});
查看

Ext.define("MyMobile.view.LoginView", {
extend: "Ext.form.FormPanel",
alias: "widget.mylogin",
id: 'loginFormPanel',

config: {

    margin: '0 auto',
    name: 'loginform',
    frame: true,
    url: 'login/Authenticate',
    title: 'Login',
    items: [
      {
      xtype: 'fieldset',

      itemId: 'LoginFieldset',
      margin: '10 auto 0 auto ',

      title: '',
      items: [
                {
                    xtype: 'textfield',

                    label: 'User Name',
                    name: 'my-username',
                    required: true,

                    placeHolder: 'Username'
                },
                {
                    xtype: 'emailfield',
                    label: 'Email',
                    name: 'Email'
                },
                {
                    xtype: 'passwordfield',

                    label: 'Password',
                    name: 'my-password',
                    required: true,

                    placeHolder: 'Password'
                }
            ]
  },
    {
        xtype: 'button',
        id: 'loginButton',
        margin: '25 auto 0 auto ',
        style: '',
        maxWidth: 200,
        ui: 'action',
        width: '',
        iconCls: 'user',
        iconMask: true,
        text: 'Login',
        action: 'login'
    }

    ]
}

 });
App.JS

Ext.application({

name: "MyMobile",
appFolder: "myapp",
controllers: ["LoginController"],
views: ['LoginView'],

launch: function () {

   var loginPanel= Ext.create('Ext.Panel', {
        layout: 'fit',

        items: [
            {
                xtype: 'mylogin'
            }
        ]
    });


    Ext.Viewport.add(loginPanel);
}

});
有人能找出问题所在吗

下面是我从服务器得到的JSON响应

{“用户名”:“Murali”,“isAdmin”:true,“isAuthenticated”:true}


即使在得到JSON和200OK结果之后,我的代码表单提交函数也会进入失败回调。在failure callback functionfailure:function(form,result)中,我将result param作为我的JSON。但是为什么会失败呢?

让您的服务器返回一个JSON响应,如下所示:

如果成功:

{
    "success":true,
    "UserName":"Murali",
    "isAdmin":true,
    "isAuthenticated":true
}
如果失败:

{
    "success":false
}

阅读此处的更多信息:

“下面是来自我的服务器的JSON响应。”,因此您得到了一个结果,或者这是您期望得到的结果?我得到了JSON响应和200 ok结果。但是表单submit的成功或失败回调不是executingHmm,如果使用
callback:function(){console.log('cb');}
,会发生什么?是的,我试过了。现在转到错误回调函数失败。但为什么当我得到200 Ok和JSON结果时会这样呢?我得到了我的JSON结果。但它会陷入失败的境地。我在服务器端使用ASP.NETMVC并返回JSON数据HI Sreenath。令人惊叹的!它很有魅力!谢谢是否可以保留作为响应头一部分发送的cookie值,并将其用于后续请求?就像这样,我们在正常的web上进行会话管理是的,当然可能,请阅读以下内容:或者,您可以从
success
方法内部进行此操作。谢谢您的参考。我正在经历。还有一些困惑,比如如何在本地存储中存储cookie,以及如何在每个请求中检索并将其作为头参数发送。有什么例子吗?服务器通常使用
Set Cookie
头来设置Cookie,您不必担心,看看这个:。即使在AJAX请求的情况下,该方法也可以工作