ExtJs的数据代理proxy
数据代理proxy是进行数据读写的主要途径,通过代理操作数据进行CRUD ---增删改查
每一步操作全会得到唯一的Ext.data.Operation实例他包含了所有的请求参数
数据代理proxy目录结构
Ext.data.proxy.Proxy 代理类的根类(他分为客户端(Client)代理和服务器代理(Server))
Ext.data.proxy.Client客户端代理
Ext.data.proxy.Memory 普通的内存代理 ----[重点]
Ext.data.proxy.WebStorage浏览器客户端存储代理
Ext.data.proxy.SessionStorage浏览器级别代理----[重点] 打开新的浏览器后不记录信息session级别
Ext.data.proxy.LocalStorage本地化的级别代理(不能夸浏览器)----[重点] 打开新的浏览器后记录原来信息cookie级别
Ext.data.proxy.Server服务器端代理
Ext.data.proxy.Ajax 异步加载的方式----[重点]
Ext.data.proxy.Rest一种特使的Ajax--[知道]
Ext.data.proxy.JsonP 跨域交互的代理----[重点] 跨域是有严重的安全隐患的 extjs的跨域也是需要服务器端坐相应的配合
1. 普通代理 Memory
2. 浏览器级别代理SessionStorage
但是关闭浏览器后在浏览结果:
说明是以session的形式保存的
3. 本地化的级别代理LocalStorage
当关闭浏览器后再次打开访问结果会累加,相当于是以cookie的形式保存的
4. 异步加载的方式Ajax
5. 跨域交互的代理JsonP
(function(){ Ext.onReady(function(){ Ext.regModel("person",{ fields:[ {name:'name',type:'string'} ], proxy:{ type:'jsonp', url:'http://www.uspcat.com/extjs/person.php' } }); var person = Ext.ModelManager.getModel('person'); person.load(1,{ scope:this, success:function(model){ alert(model.get('name')); } }); })})();person.php:
echo Ext.data.Jsonp.callback1({name:”hanhan313”});
- 1楼sql_wtx4天前 09:45
- 不错,不过有些内容讲得不清楚,比如Memory、LocalStorage等存储方式的基本原理。extjs只是个框架,里面实现原理我们还是要弄清楚。
- Re: hanhan3134天前 11:22
- 回复sql_wtxn小弟现在才刚刚接触到extjs,的确对基本原理不是很了解,不过会加强的