ExtJS 4 数据包的演示例子

在这份演示中(如下图),我们向大家透露了数据包崭新的功能有哪些。假设例子是个简单的博客程序,博客的模型有用户User

帖子Post

评论Comment

。例子依赖服务器的远程调用须要部署在一个服务器上,静态的文件服务器即可。

 

 

1.创建一个模型的实例

首先要创建一个User模型的实例。需要指出的是,这里的User变量是一个全局变量。虽然全局变量应该慎重使用,但如果这里只是一个例子的话所以直接用上了。User是一个模型类。

var frank = new User({
name: 'Frank Cheung',
age: 28
});
alert("用户姓名是" + frank.get('name'));

2. 加载数据到Store容器

接着要把上述用户的数据加载到数据容器Store。先定义一个对接User

模型的Store。这个Store我们配置为AjaxProxy的方式获取数据,数据就是来自于data/users.json

。你也可以点击这个链接看看这个JSON文件内部究竟如何。因为使用了JSON格式,所以便调用JsonReader来处理AjaxProxy送来的数据。在JsonReader的root配置项设置user的参数,就会在对应着的响应数据中匹配user字段,说明那是想要的结果记录。

 

var store = new Ext.data.Store({
model: 'User',
proxy: {
type: 'ajax',
url : 'data/users.json',
reader: {
type: 'json',
root: 'users'
}
}
});
// 加载Store.load,因为是异步操作的缘故,所以设置了一个回调函数。
// 这里应该返回4笔记录,现实的是4。
store.load(function(records) {
alert("加载了" + store.getCount() + " 笔记录回来。");
});

3. 使用关联定义关系和隐式加载

关联(Associations)是Ext
4带来全新的概念和方法,能够让我们可以在模型之间建立特定的关系。例如在这个例子,我们将User模型关联不同的帖子Post,就是一个特定的关系。通过了解User

源码就可以窥探个中原理。以下加载一个User模型并列出其所属的Post。其中每张帖子Post,又有一个或多个评论Comment可操作。

如果你打开了User模型源码

,你会发现RestProxy定义其中。但是,你也会觉得怎么没有了Store?因为这是隐式创建了Store。RestProxy是AjaxProxy的特殊类型,允许以RESTful的方式与服务端进行沟通。在这个例子中,url就是data/users/1.json,这是由RestProxy自动生成了/1.json的路径。

User.load(1, {
success: function(user) {
// 刚才设置User模型的时候,分配了hasMany关系。这过程会创建user.posts()方法
var posts = user.posts(),
name = user.get('name');

alert("用户"+ name + " 有 " + posts.getCount() + "篇博文。");

posts.each(function(post) {
// 类似地,由于设置Post模型的时候,分配了hasMany关系。这过程会创建post.comment()方法
var title = post.get('title'),
count = post.comments().getCount();

alert(title + " 有 " + count + "条评论 ");
});

// 对于连续的方法链也是支持的
var message = user.posts().last().comments().last().get('message');
alert("最后的评论:" + message);
}
});

欢迎大家打开例子看看!

时间: 2024-08-02 01:05:57

ExtJS 4 数据包的演示例子的相关文章

Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子_python

scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网络攻击和测试中. 这里就直接用python的scapy搞. 这里是arp的攻击方式,你可以做成arp攻击. 复制代码 代码如下: #!/usr/bin/python """ ARP attack """ import sys, os from scapy.all import * if os.geteuid() != 0:    

《Ext JS 4 First Look》翻译之二:全新的数据包

第二章 全新的数据包      Extjs 4引入新的数据包,其中新增了不少新类并对旧有的类作出了修整.使数据包更强大和更容易使用.  本章我们将学习一下内容: 2.1. 概述新特性 2.2. 新Model类       2.2.1. 字段声明 2.2.2. 合法性验证 2.2.3. 通过proxies和stores加载和保存数据 2.2.4. 通过关联(associations)建立model间的联系       2.2.4.1. 使用Ext.data.Model.hasMany属性来建立一对

数据包详解

什么是数据包 "包"(Packet)是TCP/IP协议通信传输中的数据单位,一般也称"数据包".有人说,局域网中传输的不是"帧"(Frame)吗?没错,但是TCP/IP协议是工作在OSI模型第三层(网络层).第四层(传输层)上的,而帧是工作在第二层(数据链路层).上一层的内容由下一层的内容来传输,所以在局域网中,"包"是包含在"帧"里的. 名词解释:OSI(Open System Interconnecti

什么是数据包

"包"(Packet)是TCP/IP协议通信传输中的数据单位,一般也称"数据包".有人说,局域网中传输的不是"帧"(Frame)吗?没错,但是TCP/IP协议是工作在OSI模型第三层(网络层).第四层(传输层)上的,而帧是工作在第二层(数据链路层).上一层的内容由下一层的内容来传输,所以在局域网中,"包"是包含在"帧"里的. 名词解释:OSI(Open System Interconnection,开放系统

网络数据包捕获函数库Libpcap安装与使用(非常强大)

1.Libpcap简介 Libpcap是Packet Capture Libray的英文缩写,即数据包捕获函数库.该库提供的C函数接口用于捕捉经过指定网络接口的数据包,该接口应该是被设为混杂模式.这个在原始套接子中有提到. 著名的软件TCPDUMP就是在Libpcap的基础上开发而成的.Libpcap提供的接口函数实现和封装了与数据包截获有关的过程. Libpcap提供了用户级别的网络数据包捕获接口,并充分考虑到应用程序的可移植性.Libpcap可以在绝大多数Linux平台上运行.在Window

深度数据包检测DPI开发解析

深度数据包检测(Deep packet inspection,缩写为 DPI)是一种特殊的网络技术,一般网络设备只会查看以太网头部.IP头部而不会分析TCP/UDP里面的内容这种被称为浅数据包检测;与之对应的DPI会检查TCP/UDP里面的内容,所以称为深度数据包检测. DPI一般是一个硬件或者软件,一般用"旁挂"的方式接入到网络.它会对网络中的每个数据包进行检查,识别出应用层协议,根据识别的协议采取一定的措施(比如记录HTTP访问行为).对于TCP协议它可以识别完整的TCP交互过程(

《Wireshark数据包分析实战(第2版)》—第6章6.1节地址解析协议

第6章 通用底层网络协议 Wireshark数据包分析实战(第2版) 无论是处理延迟问题,还是甄别存在错误的应用,抑或对安全威胁进行聚焦检查,都是为了发现异常的流量,而你必须首先了解正常的流量.在下面的几章中,你将会学到正常的网络流量在数据包级别是如何工作的. 我们将介绍最常见的几种协议,包括最基础的TCP.UDP和IP,以及如HTTP.DHCP.DNS等最常用的应用层协议.在每个协议的相关部分,都会至少有一个捕获文件供你下载,并可以让你直接上手分析.在这一章中,我们将着重关注在OSI分层模型中

可视化数据包分析工具-CapAnalysis

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chenguang.blog.51cto.com/350944/1325742 可视化数据包分析工具-CapAnalysis 我们知道,Xplico是一个从pcap文件中解析出IP流量数据的工具,本文介绍又一款实用工具-CapAnalysis(可视化数据包分析工具),将比Xplico更加细致的分析功能,先别着急安装,下面我们首先了解Pcap包的基本结构,然后告诉你如何使用,最后是

《Linux防火墙(第4版)》——2.4 过滤传入的数据包

2.4 过滤传入的数据包 外部网卡I/O对中的输入端.输入规则集,对于保护您的站点而言,是更值得注意的.就像前面提到的那样,您能够基于源地址.目的地址.源端口.目的端口.TCP状态标志以及其他标准进行过滤. 您将在后面的章节中了解到所有这些信息. 2.4.1 远程源地址过滤 在数据包层面,唯一确定IP数据包发送者的方式便是数据包报头的源地址.这个事实为源地址欺骗(source address spoofing)提供了可能,发送者将一个并非他/她真实地址的错误地址放在报文的相应源地址域里.该地址可