Показать сообщение отдельно
  #1 (permalink)  
Старый 01.09.2014, 20:19
Аспирант
Отправить личное сообщение для treasury Посмотреть профиль Найти все сообщения от treasury
 
Регистрация: 26.08.2014
Сообщений: 49

extjs прошу совета
только начал программировать на extjs прошу поставить на путь истинный, чтобы правильно начать разработку.
Мое приложение имеет форму логина, на вход навесил обработчик, если можно по пунктам верно или нет, правильный подход и т.п. вот сам код:
onButtonClick: function(button, e, eOpts) {
var successGetObj = function(resp, ops) {

    var obj = Ext.decode(resp.responseText);
    console.log(obj);

    var storeObject=Ext.StoreManager.get('CarStore');
    console.log(storeObject);

    for (var i=0; i<obj.items.length; i++){
        storeObject.add({id: obj.items[i].id, nm: obj.items[i].nm});
        
    }
};


var failureGetObj = function(resp, ops) {
    Ext.Msg.alert('Error','Нет доступных объектов', Ext.emptyFn);
};


var values = Ext.getCmp('loginform').getForm().getValues();    // По ID адресуемся к панели

var errorCodes = {
    1: 'Недействительная сессия',
    2: 'Неверное имя сервиса',
   ...

};

var AjaxRequest = function(url, success, failure){
    Ext.Ajax.request({
        method:'GET',
        //contentType:'application/x-www-form-urlencoded',
        dataType:'jsonp',
        url: 'http://localhost:3000/' +url,
        disableCaching: false,
        useDefaultXhrHeader: false,
        success: success,
        failure: failure             });};

var successCallback = function(resp, ops) {

    var obj = Ext.decode(resp.responseText);

    console.log(obj);

    if (!obj.error){

        var now = new Date();
        console.log(now);
        var expiry = new Date(now.getTime() + 600 * 1000);
        console.log(expiry);

        Ext.util.Cookies.set("ssid", ''+obj.ssid+'', expiry);

        var val = Ext.util.Cookies.get("ssid");

        console.log(val);

        // Create new login form window
        var main = Ext.create('widget.main', { //Show main
           
        });

        // Show main
        main.show();
        Ext.getCmp('login').hide();


        AjaxRequest('wialoncollector/items/'+Ext.util.Cookies.get("ssid"), successGetObj, failureGetObj);

    }

    if (obj.error){

        if (!Ext.get('login-error')){
        Ext.get('login').createChild({ // вставка в #ex21B элемента DIV
         tag:'div',             // тег, который нужно вставить
         id: 'login-error', // ID этого тега
         cls:'login-error',      // CSS-класс
         html:'<b>'+errorCodes[obj.error]+'</b>'  // html-содержимое
         });

        }


    }
};

var failureCallback = function(resp, ops) {

    if (!Ext.get('login-error1')){
        Ext.get('login').createChild({ // вставка в #ex21B элемента DIV
         tag:'div',             // тег, который нужно вставить
         id: 'login-error1', // ID этого тега
         cls:'login-error',      // CSS-класс
         html:'<b>Введите пользователя и пароль, проверьте соединение с интернетом</b>'  // html-содержимое
         });

        }

};

AjaxRequest('login/'+values.login+'/'+values.password+'', successCallback, failureCallback);
}
Ответить с цитированием