ext4.0 代理 的使用
/**
* Extjs4.0数据代理详解 数据代理Proxy是数据读写的主要途径,通过代理操作数据进行CRUD
* 每一步操作都会得到唯一的Ext.data.Operation实例,他包含所有的请求参数
* 1.数据代理proxy目录结构:
* Ext.data.proxy.Proxy 代理类的根类(他分客户端代理和服务器端代理)
* 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.onReady(function() {
Ext.regModel("user", {
fields : [{
name : 'name',
type : 'string'
}, {
name : 'age',
type : 'int'
}]
});
// 不用create方法,直接用proxy创建对象数据
var userData = [{
name : 'www.baidu.com',
age : 21
}, {
name : 'gougou.com',
age : 22
}];
// 创建模型的代理类
var memoryProxy = Ext.create("Ext.data.proxy.Memory", {
data : userData,
model : 'user'
});
// 可以crud
/*userData.push({
name :'soso.com',
age : 32
});
// update 更新操作
memoryProxy.update(new Ext.data.Operation({
action :'update',
data :userData
}), function(result){},this);
*/
// read读操作
memoryProxy.read(new Ext.data.Operation(), function(result) {
var datas = result.resultSet.records;
Ext.Array.each(datas, function(model) {
alert(model.get('name'));
});
});
});
/**
* jsonP使用
*/
Ext.onReady(function() {
Ext.regModel("person", {
fields : [{
name : 'name',
type : 'string'
}],
proxy : {
type : 'jsonp',
url : 'www.baidu.com'
}
});
var person = Ext.ModelManager.getModel('person');
person.load(1, {
scope : this,
success : function(model) {
alert(model.get('name'));
}
});
})
/**
* Ext4.0 localStorage使用不能夸浏览器 但能存储上次加载的数据到浏览器中
*/
Ext.onReady(function() {
Ext.regModel("user", {
fields : [{
name : 'name',
type : 'string'
}, {
name : 'age',
type : 'int'
}],
proxy : {
type : 'localstorage',
id : 'twitter-Searches'
}
});
// 用store来初始化数据
var store = new Ext.data.Store({
model : user
});
store.add({
name : 'www.baidu.com'
});
store.sync();// 异步加载
store.load();
var msg = [];
store.each(function(rec) {
msg.push(rec.get('name'));
});
alert(msg.join("\n"));
})
/**
* ajax代理模式
*/
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'
});
// doRequest 读取数据
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;
// Ext.JSON.decode() Decodes (parses) a JSON string to
// an object.
alert(Ext.JSON.decode(text)['name']);
});
})
/**
* sessionstorage:单浏览器模式
*/
Ext.onReady(function() {
Ext.regModel("user", {
fields : [{
name : 'name',
type : 'string'
}],
proxy : {
type : 'sessionstorage',
id : 'twiS'
}
});
var store=new Ext.data.Store({
model:user
});
store.add({name:'wangbass'});
store.sync();
store.load();
var msg=[];
store.each(function(rec){
msg.push(rec.get('name'));
});
alert(msg.join("\n"));
})
ext4.0 代理 的使用相关推荐
- ext4.0.7 样式兼容性
现象: 使用自定义弹出下拉框,选择选项后,再次弹出的选择div位置出现很大偏移, 用开发工具查看后,发现top为负数. 原因: html文件的文档声明为: <!DOCTYPE HTML PUBL ...
- Ext4.0源码解读(分享二)
源码: core/src/Ext-more.js L 44 一来就 44 行? 我也没办法, 上面都是注释. Ext中的注释是非常多的.然这些注释都是文档注释.关键的注释很少. L 45 Ext.us ...
- 设计模式之代理模式(Proxy)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...
- nginx 反向代理 apache 服务
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时 ...
- Android 7.0 init.rc的一点改变
点击打开链接 在Android 7之前的版本中,系统Native服务,不管它们的可执行文件位于系统什么位置都定义在根分区的init.*.rc文件中.这造成init*.rc文件臃肿庞大,给维护带来了一些 ...
- Vue之通过代理设置跨域访问
我们使用脚手架创建的项目,可以在config项目中看到 其中我们打开index.js文件 'use strict' // Template version: 1.3.1 // see http://v ...
- EXT扩展实例:在EXT4中检测Iframe的加载事件,并给它加上MASK
验证环境 ext-4.0.7-gpl 1 Ext.onReady(function() {2 Ext.widget('panel', {3 title: 'IFrame事件',4 width: 50 ...
- 开箱即用的高匿代理抓取工具
golang-proxy v3.0 golang-proxy是一个开箱即用的高匿代理抓取工具, 它是语言无关的 项目地址: https://github.com/storyicon/golang-pr ...
- 面试官:策略模式和代理模式有什么区别?
大家好,我是田哥,昨天一哥们面试被问到代理模式,刚好,我也正在写<MyBatis源码分析:小白系列>专栏中的代理模式. 这里也说明一下,本文是MyBatis源码分析专栏中的一篇文章. 感兴 ...
最新文章
- SQL 语句中 where 条件后 写上1=1 是什么意思
- IOS7最新的系统漏洞
- 泛型:工作原理及其重要性
- mysql 5.1编译参数和编译方法
- websocket使用
- 一个配置web.xml的编程方法
- jquery 获得table 行数
- 想和人脑一样智能? IBM 的芯片级模仿才是关键
- mysql卡住如何定位_MySQL 5.7中如何定位DDL被阻塞的问题
- android程序逆向工程
- linux hosts和hostname
- 安装photoshop2022mac遇到安装失败错误代码182解决方法
- IntelliJ IDEA 2019.1 EAP5 发布,Maven 构建输出统一查看
- android 点击屏幕事件_Android 事件分发机制
- openjudge 买书
- 《东周列国志》第四十四回 叔詹据鼎抗晋侯 弦高假命犒秦军
- 携程网跨站弱点及物理路径泄漏
- 基于JAVA糖果销售管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
- C++版本OpenCv教程(十一)多通道分离与合并
- 计算机中 符号咋打,乘以符号电脑怎么打_详细教您打出乘以符号的方法