rest - How to make CRUD request in ExtJS 5.1.1 - MVC App -
i making request java server api property , works when try make create, update or delete actions, got several http status errors such 400, 415, 500 etc. wondering adjustment proper request.
and says: uncaught typeerror: cannot read property 'reader' of undefined
normally postman, when config request 'content type: application/json' headers, can create new record can not set demo-app..
can give idea please? thank you.
here couple snippet; model.js:
ext.define('orest.model.model', { extend: 'ext.data.model', fields: [ {name: 'id', type: 'int'}, {name: 'refno', type: 'int'}, {name: 'usercode', type: 'string'}, {name: 'langcode', type: 'string'}, {name: 'agencysubcode', type: 'string'}, {name: 'logoname', type: 'string'}, {name: 'adress1', type: 'string'}, {name: 'tel', type: 'int'}, {name: 'accstatuscode', type: 'string'} ], idproperty: 'id', proxy: { type: 'ajax', idparam: 'id', defaultheaders: { 'content-type': 'application/json' }, api: { read: 'http://ip:port/orest/agency', create: 'http://ip:port/orest/agency' }, reader: { type: 'json' }, writer: { type: 'json', allowsingle: false, encode: true, rootproperty: 'data', writeallfields: true } } }); here store.js:
ext.define('orest.store.store', { extend: 'ext.data.store', requires: ['orest.model.model'], model: 'orest.model.model', proxy: { type: 'ajax', url: 'http://ip:port/orest/agency', reader: { type: 'json' } }, autoload: true }); and controller.js:
ext.define('orest.controller.controller', { extend: 'ext.app.controller', alias: 'controller.orest', views: ['orest.manageorest'], //stores: ['store'], //models: ['model'], refs: [{ ref: 'orestlist', selector: 'themanageorest thelist' }, { ref: 'orestform', selector: 'themanageorest theform' }, { ref: 'addrecordbtn', selector: 'themanageorest #addrecordbtn' }, { ref: 'savebtn', selector: 'themanageorest theform #savebtn' }, { ref: 'deletebtn', selector: 'themanageorest theform #deletebtn' }, { ref:'formfieldset', selector: 'themanageorest theform fieldset' }, { ref: 'idfield', selector: 'themanageorest theform textfield[name=id]' }], init: function(application) { this.control({ 'thelist': { itemclick: this.doselect, viewready: this.doinitstore }, 'themanageorest #addrecordbtn': { click: this.doaddrecord }, 'themanageorest theform #savebtn': { click: this.dosave } }); }, doselect: function(grid, record) { console.log('this doselect'); var me = this; me.getorestform().loadrecord(record); me.getformfieldset().settitle('edit record ' + record.get('logoname')); me.getidfield().disable(); me.getdeletebtn().enable(); }, doinitstore: function() { console.log('do init'); //this.getorestlist().getstore.load(); }, doaddrecord: function () { var me = this; me.getformfieldset().settitle('add new record'); me.getidfield().enable(); var newrecord = ext.create('orest.model.model', { }); me.getorestform().loadrecord(newrecord); me.getdeletebtn().disable(); }, dosave: function () { var me = this; var rec = me.getorestform().getrecord(); if (rec !== null) { me.getorestform().updaterecord(); var errs = rec.validate(); if (errs.isvalid()) { rec.save ({ success: function(record, operation) { if (typeof record.store === 'undefined') { // record not yet in store me.getorestlist().getstore().add(record); // select record in grid me.getorestlist().getselectionmodel().select(record, true); } me.getformfielset().settitle('edit record' + record.get('logoname')); me.getidfield().disable(); me.getdeletebtn().enable(); }, failure: function (rec, operation) { ext.msg.alert('save failure', operation.request.scope.reader.jsondata.msg); } }); } else { me.getorestform().getform().markinvalid(errs); ext.msg.alert('invalid fields', 'please fix invalid entries!'); } } } });
Comments
Post a Comment