/** * DWR与EXTJS一同使用的PROXY */ Ext.namespace("Ext.ux.data"); Ext.ux.data.DwrProxy = function(config) { Ext.apply(this, config); Ext.applyIf(config, { url : "support.jsp" }); Ext.ux.data.DwrProxy.superclass.constructor.call(this, config); }; Ext.ux.data.DWRProxy = Ext.ux.data.DwrProxy; Ext.extend(Ext.ux.data.DwrProxy, Ext.data.DataProxy, { //not use this property now. dwrKey : "dwrKey", dwrFun : undefined, //not use this property now dwrParams : [], doRequest : function(action, record, params, reader, cb, scope, options) { var root = this; var fun = this.dwrFun || this.api[action]; var trans = { "params" : params || {}, "request" : { "callback" : cb, "scope" : scope, "arg" : options }, "reader" : reader }; alert(params.jsonData); var args = []; // if(params.jsonData){ // args.push(params.jsonData) // } args.push(this.createCallback(action, record, trans)); fun.apply(window, args); }, // private createCallback : function(action, record, trans) { return { // callback for dwr Ajax request callback : function(result) { if (action === Ext.data.Api.actions.read) { this.onRead(action, trans, result); } else { this.fireEvent("loadexception", this, trans, null, ex); } }.createDelegate(this), // dwr Ajax request error handler. errorHandler : function(message, ex) { Ext.Msg.alert("Error", message + "<br>" + ex); this.fireEvent("loadexception", this, trans, null, ex); }.createDelegate(this) } }, onRead : function(action, trans, result) { var records; try { records = trans.reader.readRecords(result); } catch (ex) { alert(ex + "/n callback catch a exception!"); this.fireEvent("loadexception", this, trans, null, ex); this.fireEvent('exception', this, 'response', action, trans, null, ex); trans.request.callback.call(trans.request.scope, null, trans.request.arg, false); return; } this.fireEvent("load", this, null, trans.request.arg); trans.request.callback.call(trans.request.scope, records, trans.request.arg, true); } }); /** *var store = new Ext.data.JsonStore({autoLoad:true,proxy:new Ext.ux.DwrProxy({ *dwrFun:user.func *})}); */
Ext.ux.data.DwrProxy
最新推荐文章于 2018-09-11 20:50:47 发布