数据代理proxy是进行数据读写的主要途径
结构图:
Ext.data.proxy.Proxy 代理类的根类(他分为客户端(Client)代理和服务器代理(Server))
Ext.data.proxy.Client 客户端代理
Ext.data.proxy.Memory 普通的内存代理 ----[重点]
Ext.data.proxy.WebStorage 浏览器客户端存储代理
Ext.data.proxy.SessionStorage 浏览器级别代理----[重点]
Ext.data.proxy.LocalStorage 本地化的级别代理(不能夸浏览器)----[重点]
Ext.data.proxy.Server 服务器端代理
Ext.data.proxy.Ajax 异步加载的方式----[重点]
Ext.data.proxy.Rest 一种特殊的Ajax--[知道]
Ext.data.proxy.JsonP 跨域交互的代理----[重点] 跨域是有严重的安全隐患的 extjs的跨域也是需要服务器端坐相应的配合
Ext.data.proxy.Direct 命令.
Ext.data.proxy.Memory
(function(){
Ext.onReady(function(){
Ext.regModel("user",{
fields:[
{name:'name',type:'string'},
{anem:'age',type:'int'}
]
});
//不用create方法 我们直接用proxy来创建对象数据
var userData = [
{name:'uspcat.com',age:1},
{name:'yunfengcheng',age:26}
];
//创建model的代理类
var memoryProxy = Ext.create("Ext.data.proxy.Memory",{
data:userData,
model:'user'
})
userData.push({name:'new uspcat.com',age:1});
//update
memoryProxy.update(new Ext.data.Operation({
action:'update',
data:userData
}),function(result){},this);
//就可以做CRUD了
memoryProxy.read(new Ext.data.Operation({
action:'read'
}),function(result){
var datas = result.resultSet.records;
Ext.Array.each(datas,function(model){
alert(model.get('name'));
})
});
});
})();
Ext.data.proxy.WebStorage
(function(){
Ext.onReady(function(){
Ext.regModel("user",{
fields:[
{name:'name',type:'string'}
],
proxy:{
type:'localstorage',
id : 'twitter-Searches'
}
});
//我们用store来初始化数据
var store = new Ext.data.Store({
model:user
});
store.add({name:'uspcat.com'});
store.sync();
store.load();
var msg = [];
store.each(function(rec){
msg.push(rec.get('name'));
});
alert(msg.join("\n"));
})
})();
Ext.data.proxy.SessionStorage
(function(){
Ext.onReady(function(){
Ext.regModel("user",{
fields:[
{name:'name',type:'string'}
],
proxy:{
type:'sessionstorage',
id : 'twitter-Searches'
}
});
//我们用store来初始化数据
var store = new Ext.data.Store({
model:user
});
store.add({name:'yunfengcheng'});
store.sync();
store.load();
var msg = [];
store.each(function(rec){
msg.push(rec.get('name'));
});
alert(msg.join("\n"));
})
})();
Ext.data.proxy.Ajax
(function(){
Ext.onReady(function(){
Ext.regModel("person",{
fields:[
{name:'name',type:'string'}
]
});
var ajaxProxy = new Ext.data.proxy.Ajax({
url:'person.jsp',
model:'person',
reader:'json',
limitParam : 'indexLimit'
});
ajaxProxy.doRequest(new Ext.data.Operation({
action:'read',
limit:10,
start :1,
sorters:[
new Ext.util.Sorter({
property:'name',
direction:'ASC'
})
]
}),function(o){
var text = o.response.responseText;
alert(Ext.JSON.decode(text)['name']); //解码
});
});
})();
Ext.data.proxy.JsonP
后台返回要求:
Ext.data.JsonP.callback1(json对象);
js:
(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'));
}
});
});
})();
- 大小: 13.9 KB
分享到:
相关推荐
ExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.doc
23. extJs 2.0学习笔记(Ext.Panel篇四) 62 24. extJs 2.0学习笔记(组件总论篇) 66 25. extJs 2.0学习笔记(Ext.Element API总结) 69 26. extJs 2.0学习笔记(Element.js篇) 73 27. extJs 2.0学习笔记(DomHelper.js篇) ...
Extjs 5 学习笔记,在网上下载整理好的。
23. extJs 2.0学习笔记(Ext.Panel篇四) 62 24. extJs 2.0学习笔记(组件总论篇) 66 25. extJs 2.0学习笔记(Ext.Element API总结) 69 26. extJs 2.0学习笔记(Element.js篇) 73 27. extJs 2.0学习笔记(DomHelper.js篇) ...
ExtJS4学习笔记(四)---Grid的使用 ExtJS4学习笔记(五)---Grid分页 ExtJS4学习笔记(六)---多表头Grid ExtJS4学习笔记(七)---带搜索的Grid(SearchGrid) ExtJS4学习笔记(八)---Grid多选/全选 ExtJS4学习笔记(九)...
extjs学习笔记, 对应的书籍是extjs in action 没有看完...呵呵
EXTJS 学习笔记 ROY EXTJS学习笔记,自己学习的过程,不多但是实用
适合ExtJs开发人员extjs技术上手以及深入
根据word做的pdf版本的ExtJs学习笔记,根据原版进行了删减,欢迎大家下载啊,哈哈。
ExtJs简明教程+Extjs学习笔记,来源网络,免费奉送,我讨厌需要资源分~
非常适合新手学习extjs的笔记,让你少走弯路
extJs学习笔记,让新手能够快速理解extJS的原理,深人浅出的了解extjs的精髓。
老师整理的extjs学习笔记,和大家共享
是我学习Extjs 的学习笔记收藏整理,学习extjs的同学可以好好看看,绝对有好处,学到很多知识!
语言程序设计资料:ExtJs学习笔记-2积分.doc
自己总结的extjs4学习笔记,自己总结的extjs4学习笔记,自己总结的extjs4学习笔记,
ExtJS资料笔记(extjs各个属性的详解) ExtJS资料笔记(extjs各个属性的详解) ExtJS资料笔记(extjs各个属性的详解)