только начал программировать на 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);
}