`
binn.zeng
  • 浏览: 10577 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Ext扩展:JsonRpcSotre

    博客分类:
  • ajax
阅读更多

刚刚弄完JsonRpc.由于Ext的数据是基于Store的,马不停蹄,构造自己的JsonRpcStore,同时发现了以前写的RpcStore在IE上有很多问题,经过修改代码如下:

Ext.ux.JsonRpcProxy = function(c) {
	Ext.ux.JsonRpcProxy.superclass.constructor.call(this);
	this.url = c.url;
};
Ext.extend(Ext.ux.JsonRpcProxy, Ext.data.DataProxy, {
	load : function(params, reader, callback, scope, arg) {
		if (this.fireEvent("beforeload", this, params) !== false) {
			var o = {
				params : params,
				request : {
					callback : callback,
					scope : scope,
					arg : arg
				},
				reader : reader,
				callback : this.loadResponse,
				scope : this
			};
			JsonRpc.request(this.url, [o.params], function(r, e) {
				o.callback.call(o.scope, o, r && !e, r || e);
			});
		} else {
			callback.call(scope || this, null, arg, false);
		}
	},
	loadResponse : function(o, success, response) {
		if (!success) {
			this.fireEvent("loadexception", this, o, response);
			o.request.callback
					.call(o.request.scope, null, o.request.arg, false);
			return;
		}
		var result;
		try {
			result = o.reader.readRecords(response);
		} catch (e) {
			this.fireEvent("loadexception", this, o, response, e);
			o.request.callback
					.call(o.request.scope, null, o.request.arg, false);
			return;
		}
		this.fireEvent("load", this, o, o.request.arg);
		o.request.callback.call(o.request.scope, result, o.request.arg, true);
	},
	update : function(dataSet) {
	},
	updateResponse : function(dataSet) {
	}
});

Ext.ux.JsonRpcStore = function(c) {
	Ext.ux.JsonRpcStore.superclass.constructor.call(this, Ext.apply(c, {
		proxy : new Ext.ux.JsonRpcProxy({
			url : c.url
		}),
		reader : new Ext.data.JsonReader(c, c.fields)
	}));
}
Ext.extend(Ext.ux.JsonRpcStore, Ext.data.Store);
 
分享到:
评论

相关推荐

    ext定制:搜索框

    - 在`custom.js`文件中编写用于扩展或修改搜索框行为的JavaScript代码。例如,可以定义新的事件处理程序、修改默认样式或添加额外的功能。 - 代码示例中的`custom.js`包含了实现自定义搜索框所需的所有JavaScript...

    Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理.doc

    Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理

    bugsnag-ruby-ext:Bugsnag Ruby客户端的扩展

    Bugsnag::Ext::ResqueRetry class SomeResqueJob include Bugsnag :: Ext :: ResqueRetry end Bugsnag::Ext::Faraday conn = Faraday . new ( url : "https://github.com/" ) do | faraday | faraday . use ...

    codePress Ext 扩展代码实现

    codePress 是一个强大的在线代码编辑器,它作为一个扩展与EXT框架集成,提供了丰富的代码高亮显示功能,使得在网页上进行代码编辑变得更加便捷和高效。EXT是一个流行的JavaScript库,用于构建富客户端应用程序,其...

    基于python 批量修改文件后缀脚本

    "基于Python批量修改文件后缀脚本"的主题聚焦于如何利用Python来高效地改变大量文件的扩展名,这对于数据处理、文件整理或者系统维护等工作场景非常有用。下面我们将详细探讨这个话题。 首先,Python提供了强大的...

    ext 扩展子列表头

    EXTJS以其强大的组件模型和优雅的数据绑定机制而闻名,其中"EXT 扩展子列表头"是EXTJS框架中的一种功能,主要应用于数据展示和交互。本文将深入探讨这个主题,以及如何在EXTJS中实现列表头的分层结构。 "EXT 扩展...

    ExtJS扩展:垂直页签tabPanel

    1. **扩展TabPanel类**:创建一个新的类,继承自Ext.TabPanel,并在扩展类中添加或覆盖必要的方法和配置,如`layout`配置项可能需要设置为自定义的垂直布局。 2. **自定义布局**:创建一个新的布局管理器,可能命名...

    Ext扩展dateField时间控件,可以选择年月日、年月、年、月

    在本文中,我们将深入探讨`Ext`框架中的`dateField`扩展,特别是在允许用户选择不同时间范围方面的能力,如年月日、年月、年或仅月。`Ext`是Sencha公司开发的一个强大的JavaScript应用框架,常用于构建富客户端Web...

    vitesse-webext::high_voltage: WebExtension Vite 入门模板

    WebExtension Vite Starter 驱动的 WebExtension( 、 等)入门模板。 特征 :high_voltage: 即时 HMR - 在开发者上使用Vite (不再刷新!) :kiwi_fruit: Vue 3 - Composition API... webext-bridge - 上下文之间的

    jcifs-ext-0.9.4.jar

    解压即可得到jcifs-ext-0.9.4.jar, java环境资源,jdk1.6及以上

    Openlayers扩展插件ol-ext ,2022年4月版本v3.2.23

    而ol-ext是针对OpenLayers的一个扩展插件,它增加了许多额外的功能和视觉效果,使得地图开发更为便捷和美观。 在2022年4月发布的ol-ext版本v3.2.23中,我们关注以下几个关键知识点: 1. **图形和符号**:ol-ext...

    Ext组件扩展包 - DateTime

    Ext组件扩展包 - DateTime 是一个专门用于增强JavaScript应用程序中日期和时间处理能力的工具集。在Web开发中,尤其在创建交互式用户界面时,日期和时间选择器是不可或缺的一部分。此扩展包提供了美观且功能丰富的...

    Ext扩展整理后吐血奉献

    标题中的“Ext扩展整理后吐血奉献”表明这是一篇关于ExtJS框架扩展的深入解析文章,作者可能在研究和整理过程中投入了大量的时间和精力。ExtJS是一个广泛用于构建富客户端Web应用的JavaScript库,它提供了丰富的组件...

    Ext用户扩展控件---------日期时间选择器,可以精确到某天的某分钟

    针对这种情况,EXT社区提供了丰富的用户扩展(Ux,User Extensions)来增强其功能,如“Ext用户扩展控件---------日期时间选择器,可以精确到某天的某分钟”所描述,这是一个专门为了提供更精确时间选择的控件。...

    ext扩展_Flash表单上传组件

    EXT 扩展是基于 JavaScript 的前端开发框架 EXTJS 的一种增强功能,它提供了一系列丰富的组件和工具,使得开发者能够构建出交互性强、用户体验优秀的 web 应用程序。在本案例中,"Flash 表单上传组件"是 EXT 扩展中...

    jcifs-ext-0.9.4.zip

    <groupId>org.samba.jcifs <artifactId>jcifs-ext <version>0.9.4 </dependency>

    ext扩展 延时加载

    在IT行业中,"ext扩展 延时加载"是一个关于前端开发的重要概念,特别是对于使用Ext JS框架的应用程序。Ext JS是一个强大的JavaScript库,用于构建数据驱动的富客户端应用程序。延时加载(Lazy Loading)是一种优化...

    Ext扩展控件,可以用图片显示百分之多少

    "Ext扩展控件,可以用图片显示百分之多少"的标题揭示了一个特定的EXT控件功能,它允许将表格(grid)中的百分比数据以图形化的方式——进度条图片——进行呈现,这样不仅美观,还能更有效地传达信息。 EXT Grid是一...

    Ext grid 动态添加字段、列扩展

    Ext grid 动态添加字段、列扩展, 如何动态添加或者删除一个grid的列

Global site tag (gtag.js) - Google Analytics