2013-11-29 5 views
0

У меня есть форма (Ext.form.FormPanel), которая представляет собой панель входа в систему с двумя полями, такими как имя_пользователя и пароль, и кнопку, которая формирует submit. Теперь я могу отправить данные в свою php-службу, которая также возвращает данные, и я могу видеть данные в файле action.result (это фактически UserVO, который имеет такие поля, как user_name, password, user_type, user_id ...).Сохраните данные в Хранилище из формы Отправить успех ExtJS

PFB для точных данных

id 
    1 

user_name 
    "[email protected]" 

password 
    "cccccccc" 

first_name 
    "Super" 

last_name 
    "Super" 

user_type 
    "Super" 

parent_id 
    0 

_explicitType 
    "certification.vo.UserVO" 

success 
    true 

Теперь мой вопрос, как это возможно, чтобы получить захватить этот результат данных из action.result, разобрать его тип модели и хранить его в моем приложении, поэтому что он доступен в приложении (Ext.application) для других видов использования.

Модель моего пользователя Модель, как показано ниже.

Ext.define('Certify.model.UserVO',{ 
    extend: 'Ext.data.Model', 
    fields: ['id','user_name','password','first_name','last_name','user_type','parent_id','_explicitType'] 
}); 

моего приложение, как показано ниже.

Ext.application({ 
    requires : ['Ext.container.Viewport', 'Ext.form.FormPanel', 'Ext.Window', 'Ext.container.Container', 'Ext.Button', 'Ext.app.Controller'], 
    name : 'Certify', 
    appFolder : 'app', 
    models: ['UserVO'], 
    controllers : ['LoginController'], 
    launch : function() { 
     Ext.create('Ext.container.Viewport', { 
      layout : { 
       type : 'vbox', 
       align : 'center', 
       pack : 'center' 
      }, 
      items : { 
       xtype : 'loginview' 
      } 
     }); 
    } 
}); 

А также моя форма представить.

var callData = JSON.stringify(callDataObj); 
        Ext.getCmp('loginForm').getForm().submit({ 
         url : url + "login_json/" + callData, 
         method : 'POST', 
         waitTitle : 'Connecting', 
         waitMsg : 'Sending data...', 
         success : function(form, action) { 
          Ext.Msg.alert('Status', 'Login Successful!', function(btn, text) { 
           if (btn == 'ok') { 
            var redirect = './superuser.html'; 
            window.location = redirect; 
           } 
          }); 
         }, 

ответ

0

Поскольку у вас уже есть действительная модель вы можете использовать его для создания магазина:

Ext.create('Ext.data.Store', { 
    storeId : 'myStore', 
    model  : 'Certify.model.UserVO', 
    [...] 
} 

Когда ваш Логин-форма была отправлена, вы можете получить все значения полей с myForm.getValues() и использовать их для добавления записи в ваш магазин. Оттуда вы можете использовать его в любом месте приложения.

http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.data.Store-method-add

Смежные вопросы