Store使用Proxy来处理Model读取数据和保存数据。用户通常不需要直接创建和使用。
Proxy主要定义create、read、update、delete这四个接口,用来和服务器进行数据交互,并持有reader(负责解析服务器端返回的数据或者客户端提供的数据)和writer(负责将数据进行编码然后把数据发送到服务器或者保存到客户端)
Service这个类定义了分页排序过滤等参数的名字,
核心方法介绍
buildRequest,根据用户配置的信息构造请求需要发送的对象信息。
processResponse,解析返回数据,执行回调函数。
定义接口doRequest: function(operation, callback, scope),并且通过对这个接口的调用来实现父类Proxy的create、read、update、delete这四个接口。
这里需要说明的是CRUD这四个方法接收的参数类型 是 Operation
Service的子类有三个
Ext.data.proxy.Ajax
Ext.data.proxy.Direct
Ext.data.proxy.JsonP
Ajax 这个类作为Server的子类实现了doRequest,这里主要是使用Service的buildRequest对象构造请求需要信息,根据action决定使用get还是post方式发送数据。
将父类的回调函数processResponse封装到一个匿名函数里面给request作为回调函数,调用Ext.Ajax.request方法来处理请求。